php正则手机号码
A. php正则 匹配 手机、座机号码
注:现在有很多座机都是8位了,除区号 的第一位是取值范围是3-9 这是国家规定的,
第二位 分省市、县取值不同。省会城市和大城市的区号三位,第一位选取“3、4、5、6、7、8、9”共七个数字,
第二位选取单数“1、3、5、7、9”共五个数字,第三位随意。
各县城及小城市的区号四位,第一位选取“3、4、5、6、7、8、9”共七个数字,
第二位选取双数“2、4、6、8、0”共五个数字,第三、四位随意。
//$str = "028-8711934"; 大陆7位座机 3位区号
//$str = "0827-87119345"; 大陆8位座机 3位区号
//$str = "0827-87119345"; 大陆8位座机 4位区号
//$str = "00852-87119345"; 香港8位座机
//$str = "00852-8711934"; 香港7位座机
//手机 13、14、15、18 开头的
........
这里就不多列举了。
$mode = "/(^1[3|4|5|8][0-9]{9}$)|(^0[1-9]{2,4}[-][3-9]{1}[0-9]{6,7}$)/";
if(preg_match($mode, $str)){
echo "匹配";
}
else{
echo "不匹配";
}上面那个正则有到问题 取值范围差了一个
下面这个 ok。
$mode = "/(^1[3|4|5|8][0-9]{9}$)|(^0[0-9]{2,4}[-][3-9]{1}[0-9]{6,7}$)/";
B. 如何用php正则从一个html源代码中提取出电话号码
<?php
$html=file_get_contents($url);
preg_match('/class=['"]pull-left['"]>([09-]+?)****</span>.+?<adata-contact=['"]([0-9]+?)['"]/',$html,$match);
print_r($match);
?>
C. php 过滤手机号及类似手机号
帮你找了以下:
$phonenumber='13712345678';
if(preg_match("/^1[34578]{1}d{9}$/",$phonenumber)){
echo"是手机号码";
}else{
蚂祥echo"不旦物弯是手机号码";
这段代码可以检车你要查询的变量是不是一个手机号码。
/^1[34578]{1}d{9}$/这个正则表达式模闷,表示必须1开头,第二位数是3|4|5||7|8,如果那天出了16*开头的号码,你可以在后面再加一个6就可以了。
D. PHP常用正则表达式汇总
1.
^d+$"//非负整数(正整数
+
0)
2.
"^[0-9]*[1-9][0-9]*$"//正整数
3.
"^((-d+)|(0+))$"//非正整数(负整数
+
0)
4.
"^-[0-9]*[1-9][0-9]*$"//负整数
5.
"^-?d+$"//整数
6.
"^d+(.d+)?$"//非负浮点数(正浮点数
+
0)
7.
"^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$"//正浮点数
8.
"^((-d+(.d+)?)|(0+(.0+)?))$"//非正浮点数(负浮点数
+
0)
9.
"^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$"//负浮点数
10.
"^(-?d+)(.d+)?$"//浮点数
11.
"^[A-Za-z]+$"//由26个英文字母组成的字符串
12.
"^[A-Z]+$"//由26个英文字母的大写组成的字符串
13.
"^[a-z]+$"//由26个英文字母的小写组成的字符串
14.
"^[A-Za-z0-9]+$"//由数字和26个英文字母组成的字符串
15.
"^w+$"//由数字、26个英文字母或者下划线组成的字符串
16.
"^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$"//email地址
17.
"^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$"//url
18.
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/
//
年-月-日
19.
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/
//
月/日/年
20.
"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$"
//Emil
21.
/^((+?[0-9]{2,4}-[0-9]{3,4}-)|([0-9]{3,4}-))?([0-9]{7,8})(-[0-9]+)?$/
//电话号码
22.
"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$"
//IP地址
23.
匹配中文字符的正则表达式:
[u4e00-u9fa5]
24.
匹配双字节字符(包括汉字在内):[^x00-xff]
25.
匹配空行的正则表达式:n[s|
]*r
26.
匹配HTML标记的正则表达式:/<(.*)>.*</1>|<(.*)
/>/
27.
匹配首尾空格的正则表达式:(^s*)|(s*$)
28.
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
29.
匹配网址URL的正则表达式:^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
30.
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
31.
匹配国内电话号码:(d{3}-|d{4}-)?(d{8}|d{7})?
32.
匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$
33.
元字符及其在正则表达式上下文中的行为:
34.
将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。
35.
^
匹配输入字符串的开始位置。如果设置了
RegExp
对象的Multiline
属性,^
也匹配
’n’
或
’r’
之后的位置。
36.
$
匹配输入字符串的结束位置。如果设置了
RegExp
对象的Multiline
属性,$
也匹配
’n’
或
’r’
之前的位置。
37.
*
匹配前面的子表达式零次或多次。
38.
+
匹配前面的子表达式一次或多次。+
等价于
{1,}。
39.
?
匹配前面的子表达式零次或一次。?
等价于
{0,1}。
40.
{n,}
n
是一个非负整数,至少匹配n
次。
41.
{n,m}
m
和
n
均为非负整数,其中n
<=
m。最少匹配
n
次且最多匹配
m
次。在逗号和两个数之间不能有空格。
E. PHP可以获取到手机号或者唯一标识吗
可以,用is_numeric 和strlen 函数来写,最后用正则来判断是否为手机号码,是手机号码就获取
用 is_numeric 判断是否为数字
用 strlen 判断长度是否为11位数或12位数,12位数判断第一位数是否为0,基本上打外省电话需要在号码前加0
$text='15812345678';
$search='/^(1(([35][0-9])|(47)|[8][0126789]))d{8}$/';
if(preg_match($search,$text)){
echo'手机完全符合';
}else{
echo'手机格式不符合';
}
F. php中输入一个手机号判断是否合理代码
if(preg_match("/1[3458]{1}\d{9}$/",$phonenumber)){
echo "是手机号码";
}else{
echo "不是手机号码";
}
网络搜索 PHP正则 手机号码
G. php正则匹配数字
式子:/^[a-zA-Z0-9]+$/u
释义:
"/":表示正则表达式的定义,固定写法。
"^":表示开头。
"[]":表示字符组。匹配所包含的任意一个字符。如,“[ab]”匹配“plain”中的“a”。
"a-z":表示匹配小写字母a-z的字母范围。
"A-Z":表示匹配大写字母A-Z的字母范围。
"0-9":表示匹配0-9的数字范围。
"+":表示匹配次数大于等于1。
"$":匹配输入行尾。如果设置了RegExp对象Multiline属性,$也匹配“ ”或“ ”之前的位置。
"u":最后的u是模式修饰符,严格的说可能叫预定义常量。表示使用unicode进行匹配。
(7)php正则手机号码扩展阅读:
正则表达式的特点是:
1. 灵活性、逻辑性和功能性非常强;
2. 可以迅速地用极简单的方式达到字符串的复杂控制。
3. 对于刚接触的人来说,比较晦涩难懂。
由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到着名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。
H. php判断手机号9位数会报错。12位数会报错,为什么到了第10位就不报错
这是一个正则表达式,第一位是1,第二位匹配的是0-9,第三位35789。然后是八位数字。这样合起来刚好是十一位,所以十一位不报错,其他的位数都会报错。
I. PHP提取字符串中的手机号正则表达式怎么写
"/^[0-9]{11}/"
J. 求php正则表达式 从一段文本内容中提取 手机号码和固定电话
$preg = "/[^0-9+]*(?P<tel>(\+86[0-9]{11})|([0-9]{11})|([0-9]{3,4}-[0-9]{7,10}))[^0-9+]*/";