JavaScript常用正则

转自:做前端 » JavaScript常用正则

正则是个很好东西,在工作中运用,能带给我们很多的便利。随便写了点常用的正则。

手机号:

  1. /^(1[3458][0-9])\d{8}$/

匹配13、14、15、18开头的手机号码,现在虚拟运营商开放了,也有17开头的号码了哦,这个正则匹配的是大多数号码,如要更严格的,继续细化号码段。比如135、139、151等等。

身份证:

  1. /^[1-8](\d{14})$|^[1-8](\d{16})[0-9xX]$/ /^[1-8](\d{14})$|^[1-8](\d{16})[0-9X]$/i

匹配15或18位的身份证号码。

补充点身份证号码规则的知识,我国的身份证号码是由15位数字或者18位数字字母组成的。99年前身份证是15位,由于千年虫的问题,15位的身份证号码只能为1900年1月1日到1999年12月31日出生的人编号,所以后来改为18位了。

根据GB 11643-1999的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左到右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。

身份证号码规则

需要注意的是校验码会出现字母的情况,校验码是根据前17位数字,按照统一的公式计算出来的,计算出来的值是0-9,就显示数字,如果是10的话,因为最多18位,加上10就变成19位了,所以就改用字母,又因为在罗马数字中的10是X,最终有了18位号码尾号是X的情况。

这里对身份证的规则不详细说,有兴趣的自己去查国标或者百度,一搜一大堆。

这里也只是简单的验证下身份证号码,要想知道合不合法,就需要写程序去校验了。

QQ号:

/^[1-9]\d{4,10}$/

匹配QQ号码,5-11位。

QQ号码是没有低于5位的,目前也没有11位以上,而且号码的第一位也不可能是0开头的。

微信号:

  1. /^[a-zA-Z][\w\-]{5,19}$/

匹配微信号,以字母开头6-20位。

微信号的规则,特地去查了官方的注册规则,微信号要求以字母开头,字母数字_-都是可以的,6到20位。

邮箱:

  1. /^\w([\.-\w])*@[a-zA-Z0-9]([\.\w])*$/

匹配大多数的邮箱规则。xx@xx.xx

这个正则能匹配大多数的邮箱,毕竟是大多数的,只能说能过滤60%的非法邮箱吧。邮箱的后缀也不能限定死,qq.com、163.com、126.com等等,用户要是用的自己的邮箱服务器呢,电子邮箱这块的匹配精确度不高的,无从预计。最好的是用邮箱插件,直接让用户选择什么类型的邮箱。

小结:正则匹配的始终是多数,能帮我们挡住大部分的非法数据,但正则也不是万能的,有些情况我们无法预计到,即时预计到了也无法去规避,熟悉规则的人还是能很容易就绕过去的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值