一直想写关于正则表达式的总结,虽然工作中不断的会用到,但是感觉对正则表达式还停留在网上查找的阶段,很难写自己的正则表达式,对于正则表达式我也做过相关的学习总结,呃,过了一段时间还是模糊了。
如果有错或者有更好的写法,欢迎指正。(持续更新)
1、匹配中文
var str='只能是中文';
var reg=/^[\u4E00-\u9FFF]+$/;
console.log(reg.test(str));
2、匹配双字节字符(包括汉字)
var str='匹配双字节字符';
var reg=/[^\x00-\xff]/;
console.log(reg.test(str));
3、手机号码严格版,验证前3位
var str='15000000000';
var reg=/^(13[0-9]|17[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|16[4]|18[0-9])\d{8}$/;
console.log(reg.test(str));
4、手机号码验证前两位(注:现在有13、14、15、17、18开头的)
var str='15000000000';
var reg=/^1[34578]\d{9}$/;
console.log(reg.test(str));
5、IP地址
var str='20.20.26.20';
var reg=/^((2[0-4]\d|25[0-5]|1\d{2}|[1-9]?\d)\.){3}(2[0-4]\d|25[0-5]|1\d{2}|[1-9]?\d)$/;
console.log(reg.test(str));
6、邮箱
var str='123@163.com';
var reg=/[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/;
console.log(reg.test(str));
7、匹配URL
var str='http://www.imooc.com';
var reg=/[a-zA-z]+://[^\s]*/;
console.log(reg.test(str));
8、匹配国内电话号码
var str='0531-88881234';
var reg=/\d{3}-\d{8}|\d{4}-\{7,8}/;
console.log(reg.test(str));
9、匹配腾讯QQ号
var str='88881234';
var reg=/[1-9][0-9]{4,}/;
console.log(reg.test(str));
10、匹配中国邮政编码
var str='881234';
var reg=/[1-9]\d{5}(?!\d)/;
console.log(reg.test(str));
11、匹配18位身份证
var str='123456789012345678';
var reg=/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/;
console.log(reg.test(str));
12、匹配年-月-日格式日期
var str='1991-07-10';
var reg=/([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))/;
console.log(reg.test(str));
13、匹配整数
var str='12';
var reg=/^(-|\+)?[1-9]\d*$/;
console.log(reg.test(str));
14、匹配小数
var str='12.99';
var reg=/^(-|\+)?[1-9]\d*\.\d*|-0\.\d*[1-9]\d*$/;
console.log(reg.test(str));
热门评论
14 明显错了