加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则使用从0开始学习(二)

发布时间:2020-12-14 06:41:16 所属栏目:百科 来源:网络整理
导读:一些有用的正则的尝试和收集: 以下是以js规则的表达式 1、匹配中文 var s = '我爱中国' ; var reg = /[u4e00-u9fa5]/ ; var result = s.match(reg);匹配结果: [ "我" ,index: 0 ,input: "我爱中国" ] // 全局匹配 var reg = /[u4e00-u9fa5]/g ; var res

一些有用的正则的尝试和收集:
以下是以js规则的表达式

1、匹配中文

var s = '我爱中国';
var reg = /[u4e00-u9fa5]/;
var result = s.match(reg);
匹配结果: ["我",index: 0,input: "我爱中国"]
// 全局匹配
var reg = /[u4e00-u9fa5]/g;
var result = s.match(reg);
匹配结果: (4) ["我","爱","中","国"]
// 其他
'我爱中国'.match(/[u4e00-u9fa5]*/);
'我爱中国'.match(/[u4e00-u9fa5]+/);
匹配结果: ["我爱中国",input: "我爱中国"]
'我爱中国'.match(/[u4e00-u9fa5]?/);
匹配结果:["我",input: "我爱中国"]
'我爱中国'.match(/[u4e00-u9fa5](.*?)/);
匹配结果: ["我","",input: "我爱中国"]

2、匹配邮箱

var s = 'm1212@sina.com'
var reg = /[w!#$%&'*+/=?^_`{|}~-]+(?:.[w!#$%&'*+/=?^_`{|}~-]+)*@(?:[w](?:[w-]*[w])?.)+[w](?:[w-]*[w])?/g
var result = s.match(reg);
匹配结果:["m1212@sina.com"]

3、匹配URL

var s = 'http://www.baidu.com'
s.match(/[a-zA-z]+://[^s]*/);
匹配位置:0
匹配结果:http://www.baidu.com

4、匹配@abc@ 或者 #abc#类型

var s = '#fdsa# #fdsabb#'
s.match(/^(@|#)[^s]*?(@|#)/g);
匹配结果: ["#fdsa#","#fdsabb#"]

以上并不能匹配’# fdsa#’这种类型,要匹配这种类型,需要包含s

var s = '#fdsa# #fdsabb#'
s.match(/^(@|#)(.*?)(@|#)/g);
匹配结果: ["#fdsa#","#fdsabb#"]

5、匹配QQ

var s = '11212121'
s.match(/[1-9][0-9]{4,}/);
匹配结果: 11212121

5、匹配邮编

var s = 'afa4614612afa'
s.match(/[1-9]d{5}(?!d)/);
匹配结果: 4614612

6、匹配身份证号

var s = '411528199208132243';
var reg = /^(d{6})(d{4})(d{2})(d{2})(d{3})([0-9]|X)$/;
s.match(reg);
匹配结果: 411528199208132243

6、匹配年-月-日格式

var s = '2017-11-14';
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])))/;
s.match(reg);
匹配结果: 2017-11-14

7、匹配整数

var s = '121';
var reg = /^[1-9]d*$/
s.match(reg);
匹配结果: 121

8、匹配IP地址

var s = '192.168.1.11';
var reg = /((25[0-5]|2[0-4]d|((1d{2})|([1-9]?d))).){3}(25[0-5]|2[0-4]d|((1d{2})|([1-9]?)))/
s.match(reg);
匹配结果: 192.168.1.11

9、匹配浮点数

var s = '0.2222221';
var reg = /^-[1-9]d*.d*|-0.d*[1-9]d*$/ s.match(reg); 匹配结果: 0.2222221

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读