正規表現に問題があります。
これは私のコードです
$pattern = "^([0-9]+)$";
if (preg_match($pattern, $input))
echo "yes";
else
echo "nope";
私はそれを実行して取得します:
警告:preg_match()[function.preg-match]:終了デリミタ '^'が見つかりません
PHPの正規表現文字列には区切り文字が必要です。試してください:
$numpattern="/^([0-9]+)$/";
また、ゼロではなく小文字のoがあることに注意してください。さらに、検証だけを行う場合は、キャプチャグループは必要なく、正規表現を/^\d+$/
。
参照: PHP-Delimiters
正規表現パターンは区切り文字である必要があります。
$numpattern="/^([0-9]+)$/";
T-Regx library を使用できます。区切り文字は不要です
pattern('^([0-9]+)$')->match($input);