PHP:如何检查字符串是否不是数字,但可以包含空格



目标是验证数字的数字,并且可能包含或可能不包含空格。

,例如," 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;

相关内容

最新更新