大家好,欢迎来到IT知识分享网。
手机号码的规则
- 11位,第一位一定是1
- 第二位和第三位根据不同运营商的号码段有所区别,只有有限的组合是合法的手机号码
- 后8位可以是任意数字
^1(3[0-9]|5[0-3,5-9]|7[1-3,5-8]|8[0-9])\d{8}$ 解释: ^:代表起始,即手机号码只能以1为开头 3[0-9]:代表手机号码第二位可以是3,第三位可以是0-9中任意一个数字 5[0-3,5-9]:代表手机号码第二位也可以是5,第三位是0-3和5-9中的任意一个数字 在这里,以3开头的,以5开头的,以及以8开头的三种情况,我们用“|”来将他们隔开 \d:匹配一个数字字符,等价于 [0-9] $:终止符,代表不可以再有第12位了 正则里面的中括号[]只能匹配其中一个,如果要匹配特定几组字符串的话, 那就必须使用小括号()加或|,我还以为在中括号中也能使用或|符号, 原来|在中括号里面也是一个字符,并不代表或。[3457]匹配3或者4或者5或者7, 而(3457)只匹配3457,若要跟前面一样可以加或(3|4|5|7)。 [34|57]匹配3或者4或者|或者5或者7.而(34|57)能匹配34或者57。
三大运营商号码规则
中国电信号段
133、149、153、173、177、180、181、189、199
中国联通号段
130、131、132、145、155、156、166、175、176、185、186
中国移动号段
134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、178、182、183、184、187、188、198
其他号段
14号段以前为上网卡专属号段,如中国联通的是145,中国移动的是147等等。
虚拟运营商
电信:1700、1701、1702
移动:1703、1705、1706
联通:1704、1707、1708、1709、171
精确验证手机号码
根据电信,移动,联通目前发行的号码来的。验证比较精确
#第一位以1开头,第二位以[3|4|5|7|8]里面任何一位数作参数,第三位以[0-9]任何9位数字作参数 ^1[3|4|5|7|8][0-9]{9}$
如果因为现有的号码不能满足市场需求,电信服务商会增大号码范围。所以一般情况下我们只要验证手机号码为11位,且以1开头
#第一位以1开头,第二位以[0-9]任何10位数字作参数 ^1[0-9]{10}$
事例
后台python验证
模板
#xxx要求规范,value传入值 re.macth(xxx,value)
import re phone_true = ['','','',''] phone_false = ['3','',''] reg = r"^1(3[0-9]|5[0-9]|7[0-9]|8[0-9])\d{8}$" for item in phone_true: ret = re.match(reg,item) if not ret: print('匹配不成功') else: print('匹配成功') for item in phone_false: ret = re.match(reg,item) if not ret: print('匹配不成功') else: print('匹配成功')
前端js验证
模板
#Reg规范,value值 var Reg = /^1[34578]\d{9}$/; Reg.test(value)
<body> <button type="button" onclick="myFunction()">点我</button> <script> function myFunction() { var phoneRegex = /^1[34578]\d{9}$/; var phone=''; if(phoneRegex.test(phone)) { alert('手机号格式正确'); } else { alert('手机号格式错误'); } } </script> </body>
<body> <button type="button" onclick="myFunction()">点我</button> <script> function myFunction() { var phone_true = ['','','',''] var phone_false = ['3','',''] for(var i = 0; i<phone_true.length;i++){ if(phoneRegex.test(phone_true[i])) { alert('手机号格式正确'); } else { alert('手机号格式错误'); } } } </script> </body>
const phoneRegex1 = /^1[34578]\d{9}$/; const phoneRegex2 = /^1[3|4|5|7|8][0-9]{9}$/; const phoneRegex2 = /^1[3-9]{10}$/; const phoneRegex3 = /^1(3|4|5|6|7|8|9)\d{9}$/; const phoneRegex4 = /^1(3[0-9]|5[0-3,5-9]|7[1-3,5-8]|8[0-9])\d{8}$/; 以上匹配值都是相似
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/136891.html