我的代码如下:
case 'phone_number':
$pattern = "/^'s*'+?'s*([0-9]+'s*)+'s*('(('+?[0-9]+'s*)+'))?'s*[0-9-'s]*[0-9]'s*(x's*['d]{1,})?$/";
//$trimmed = str_replace(' ', '', $pattern);
$pattern = preg_replace(' ', '', $pattern);
break;
default:
return false;
break;
}
return preg_match($pattern, $data) ? true : false;
这是对电话号码的验证,我想知道号码后面是否有空格,这样它就不会因我的错误条件trim(strlen($_POST['phone_number'])) > 30
而失败
我该怎么做?非常感谢!
您正在调用:
trim(strlen($_POST['phone_number'])) > 30
翻译过来就是:
strlen($_POST['number'])) --> will be 10, or 12
trim( the_number_above ) --> nothing to trim
当然,这个数字将少于30个——按正确的顺序调用函数:
strlen(
trim( $_POST['phone_numer'] )
) > 30
无论如何,我会在脚本的一开始就修剪所有的输入,而不是在你做的每一次检查中。