1、说明
web端开发时经常会用正则表达式对输入进行校验,比如手机号、邮箱、密码、银行卡号,等等,
这里不追溯校验的各个编码规则,有想了解的可自行查询,
下面总结了一些常用的正则表达式,分享给各位同学~
2、校验表达式
2.1、手机号
正则表达式:/^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/
2.2、邮箱
正则表达式:/^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/
2.3、密码
正则表达式:/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/
上面的校验规则:8-16位,不能是纯字母、数字、不能有特殊字符
2.4、银行卡号
正则表达式:/^([1-9]{1})(\d{14}|\d{18})$/
注意:使用这个校验需去掉空格,方法:.replace(/\s+/g, "")
2.5、统一社会信用代码(企业)
正则表达式:/[^_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}/g
2.6、组织机构代码(企业)
正则表达式:/[a-zA-Z0-9]{8}-[a-zA-Z0-9]/
2.7、营业执照注册号(企业)
正则表达式:/(^(?:(?![IOZSV])[\dA-Z]){2}\d{6}(?:(?![IOZSV])[\dA-Z]){10}$)|(^\d{15}$)/
2.8、身份证号
正则表达式:/^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))
(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/
说明:复制到本地时将中间的空格去掉即可,原谅我的强迫症~_~
2.9、纳税人识别号(税号)
正则表达式:/^[A-Z0-9]{15}$|^[A-Z0-9]{18}$|^[A-Z0-9]{20}$/
2.10、金额转财务记账格式(三位逗号隔开)
.replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,") ,去掉逗号分隔符:.replace(/,/g, "")
备注:使用方法
1、正则表达式对象两个定义方式
1.1、构造函数定义
new RegExp(pattern, attributes);
1.2、//文本定义
var reg = /abc/g;
2、只简要介绍正则表达式提供的3个常用校验方法,test()、exec()、match()
test:返回 Boolean值,查找对应的字符串中是否存在,通过校验返回true,反之返回false
exec:返回数组,查找并返回当前的匹配结果,不存在返回null
match:返回数组,和exec基本上一致,区别在于exec是正则表达式的方法,match是String对象方法
3、示例
var phoneNum = 1111111111111;
var reg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
if (!reg.test(phoneNum)) {
alert("手机号错误!");
}
3、总结
以上总结的正则表达式我都已测试,有些可能不太严谨,如在使用时校验发现问题可留言
欢迎各位同学交流分享~