PHPで電話番号を検証する必要がありますが、以下の例は機能しません。PHP - 電話番号の検証
$phone = '(123) 458-1542';
if(preg_match("/^([0-9]{3})-[0-9]{3}-[0-9]{4}$/", $phone)) {
}
PHPで電話番号を検証する必要がありますが、以下の例は機能しません。PHP - 電話番号の検証
$phone = '(123) 458-1542';
if(preg_match("/^([0-9]{3})-[0-9]{3}-[0-9]{4}$/", $phone)) {
}
スペースを追加して、丸括弧脱出:私はcharacter class[- ]
は、念のためにいずれかスペースが存在することができる追加demo
を参照してください
^\([0-9]{3}\)[- ][0-9]{3}-[0-9]{4}$
^^ ^^^^^^
をか市外局番の後にハイフン。括弧は、grouping constructではなく、リテラルシンボルとして扱うためにエスケープする必要があります。
$phone = '(123) 458-1542';
if(preg_match('~^\([0-9]{3}\)[- ][0-9]{3}-[0-9]{4}$~', $phone)) {
echo "Matched: $phone";
}
使用この正規表現:電話番号に続いて
^\(*\+*[1-9]{0,3}\)*-*[1-9]{0,3}[-. /]*\(*[2-9]\d{2}\)*[-. /]*\d{3}[-. /]*\d{4} *e*x*t*\.* *\d{0,4}$
がテストされています:
1-234-567-8901
1-234-567-8901 x1234
1-234-567-8901 ext1234
1 (234) 567-8901
1.234.567.8901
1/234/567/8901
12345678901
1-234-567-8901 ext. 1234
(+351) 282 433 5050
これまでのベストアンサー。他のものはスペース/ハイフン/括弧などで厳密すぎる – Ankh
'()' ' $ phone' – rock321987
あなたの例の番号は有効か無効かを想定していますか? *どのように知っておくべきですか?* */* check */* validate * regexをビルドする必要がある場合は、ツール**を使用してください。例えば:https://regex101.com/ – Smuuf