PHP问题:如何判断对方输入的手机号是11位呢?
发布网友
发布时间:2022-04-24 17:36
我来回答
共2个回答
热心网友
时间:2022-04-18 14:04
if(preg_match('/^(131|132)\d{8}$/','13123321123'))
{
//11位并且是131或者132开头的
}
else
{
//不符合条件
}
To MoontoC:
正则的优势是简单、灵活、严谨
举个很简单的例子,如果用户输入的是
13134567890.01
13134567890ab
用浮点判断自然导致数据库操作错误
如果要必免这样的错误发生,自然又要用到字符串操作
strlen($num) == 11
而即使是上面这个函数,也不一定是正确的。考虑
$num = '1.313456e10';
另外,如果条件再改改,要加入137,138开头的呢,
而字符串函数还要判断每一位是不是数字吧。
至于效率,在没装Zend Optimizer的情况下每秒三十万次以上已经可以满足绝大多数情况了。
热心网友
时间:2022-04-18 15:22
if(strlen($mobile)==11){
if(substr($mobile,0,3)==131 or substr($mobile)==132){
}
}