php判断手机号
‘壹’ php问题:如何判断对方输入的手机号是11位呢
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的情况下每秒三十万次以上已经可以满足绝大多数情况了。
‘贰’ php中输入一个手机号判断是否合理代码
if(preg_match("/1[3458]{1}\d{9}$/",$phonenumber)){
echo "是手机号码";
}else{
echo "不是手机号码";
}
网络搜索 PHP正则 手机号码
‘叁’ php判断手机号9位数会报错。12位数会报错,为什么到了第10位就不报错
这是一个正则表达式,第一位是1,第二位匹配的是0-9,第三位35789。然后是八位数字。这样合起来刚好是十一位,所以十一位不报错,其他的位数都会报错。
‘肆’ php需要判断手机号码
$n=count($mobile);
for($i=0;$i<$n;$i++)
{
if(preg_match("/^13[0-9]{1}[0-9]{8}$|15[0189]{1}[0-9]{8}$|189[0-9]{8}$/",$mobile[$n]
))
{
echo $mobile[$n];
}
}
‘伍’ php使用正则表达式匹配手机号求助
$g = "/^1[34578]\d{9}$/"; // "^"符号表示必须是1开头; "[ ]"的意思是第二个数字必须是中括号中一个数字; 而 \d 则表示0-9任意数字,后跟{9}表示长度是9个数字; 后面的$表示结尾; 开始和结尾的 / 是正则表达式必须放在这个中间, 有的后面可能还跟模式.
‘陆’ php判断是不是手机号
if(preg_match("/1[3458]{1}d{9}$/",$phonenumber)){
echo"是";
}else{
echo"不是";
}
‘柒’ php如何获取本地手机号
代码:
<?php
functioninquiry_number_infor($phonenumber)
/*
*传入手机号码,通过API的到xml格式数据,对xml进一步解析,最后返回相应的号码信息的数组。
*
*@paramstring$phonenumber
*
*@returnarray
*/
{
$url="http://api.showji.com/Locating/default.aspx?m=$phonenumber&output=xml&callback=querycallback";
$lines_array=file($url);
$lines_string=implode('',$lines_array);
echohtmlspecialchars($lines_string);
echo"</br>";
$p=xml_parser_create();
xml_parse_into_struct($p,$lines_string,$vals,$index);
xml_parser_free($p);
$return_arr=array();
foreach($valsas$val)
{
$key=$val["tag"];
if($key!="QUERYRESPONSE")
{
$value=$val["value"];
$return_arr[$key]=$value;
}
if($key==="QUERYRESULT"&&$value==="False")break;
}
return$return_arr;
}
$ret=inquiry_number_infor("11210982674");
//$ret=inquiry_number_infor("15210982674");
print_r($ret);