目标是验证数字的数字,并且可能包含或可能不包含空格。
,例如," 1800 123 456"one_answers" 1800123456"都是可以接受的。
检查是否不容易数字:
if(!is_numeric($phone_number)) {
//display error message
}
,但我对如何在空间中传递。
有人可以将我指向正确的方向吗?
只需在没有空格的情况下检查:
<?php
if(!is_numeric(str_replace(" ", "", $phone_number))) {
//display error message
}
或,如果您想要正则表达式的开销:
<?php
if (preg_match("/[^0-9 ]/", $phone_number)) {
//display error message
}
尝试此代码段
REGEX: ^[d]{4}s+[d]{3}s+[d]{3}|[d]{10}$
[d]{4}s+[d]{3}s+[d]{3}
示例:类型的格式此1800 123 456
[d]{10}
示例:类型的格式此1800123456
<?php
ini_set('display_errors', 1);
$phone_number='1800 123 456';
if(preg_match("/^[d]{4}s+[d]{3}s+[d]{3}|[d]{10}$/",$phone_number))
{
echo "matched";
}
else
{
echo "not matched";
}
您可以使用以下检查:
//eliminate every char except 0-9
$justNums = preg_replace("/[^0-9]/", '', $string);
//eliminate leading 1 if its there
if (strlen($justNums) == 11) $justNums = preg_replace("/^1/", '',$justNums);
//if we have 10 digits left, it's probably valid.
if (strlen($justNums) == 10) $isPhoneNum = true;