继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

正则表达式练习整理总结(附答案)

蒋亮亮91
关注TA
已关注
手记 5
粉丝 5
获赞 193

一直想写关于正则表达式的总结,虽然工作中不断的会用到,但是感觉对正则表达式还停留在网上查找的阶段,很难写自己的正则表达式,对于正则表达式我也做过相关的学习总结,呃,过了一段时间还是模糊了。
如果有错或者有更好的写法,欢迎指正。(持续更新)

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));
打开App,阅读手记
4人推荐
发表评论
随时随地看视频慕课网APP

热门评论

14 明显错了

查看全部评论