小米技术社区
小米技术社区管理员 关于小米

27岁,山西运城人,职业电商经理人,前端开发工作者,从事过网站建设、网络推广、SEO、SEM、信息流推广、二类电商、网络运维、软件开发,等相关电商工作,经验较为丰富,小米技术社区致力于为广大从事Web前端开发的人员提供一些力所能及的引导和帮助 ...[更多]

E-mail:mzze@163.com

Q Q:32362389

W X:xiaomi168527

小米技术社区大牛王飞 关于王飞

27岁,山西运城人,职业电商经理人,网络工程师兼运维,从事过运营商网络建设,企业网络建设、优化。数据中心网络维护等通过,经验丰富,座右铭:当自己休息的时候,别忘了别人还在奔跑。 ...[更多]

E-mail:wf_live@126.com

Q Q:3940019

微博:王小贱ss

小米技术社区设计小艳 关于小艳

大于花一样的年龄,河南郑州是我家,2010年在北京接触团购网,2011年进入天猫淘宝一待就是四年,如今已经将设计走向国际化(ps:误打误撞开始进入阿里巴巴国际站的设计,嘿嘿)五年电商设计,丰富经验,从事过天猫淘宝阿里各项设计,店铺运营,产品拍摄;我将我的经历与您分享是我的快乐!座右铭:越努力越幸运! ...[更多]

E-mail:97157726@qq.com

Q Q:97157726

标签云
精品推荐
  • 工作中常用正则表达式汇总

    工作中常用正则表达式汇总

    基本蕴含了工作中常用的正则表达式Examples符号含义.*?省略(.*?)显示[\S\s]*?连接省略(忽律换行符和空格)([\s\S]*?)连接显示([\u4e00-\u9fa5]+)只显示中文\d匹配随……
    293人已经看过了
您的位置:首页 > 前端开发 > Javascript > 正则表达式

工作常用正则表达式

分类: 正则表达式35个赞

相关正则文章:

正则表达式的元字符

正则表达式速查表

正则表达式的环视 用于查找某些内容之前或者之后的东西,叫做环视。

正则表达式的捕获(分组)和反向引用    用于匹配aabb abab


匹配所有包含汉字和中文字符(包含数字、标点)

[\u4e00-\u9fa5]

匹配所有汉字(不包含数字)

[^\x00-\xff]

匹配"之前的内容

(.*?)"

匹配"之后的内容

([^"]+)$

匹配" "里面的所有内容

"(.*?)"

匹配一个html标记

<(.*)>.*<\/\1>



匹配手机号

/^\d{11}$/        //简单版 只限制11位数字
/^1[3-9]\d{9}$/   //中等版(限制前两位):1开头,第二位3-9,后面9位数字
/^1(3[0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|8[0-9]|9[89])\d{8}$/ // 精确版(限制前三位):
(如果出现新的手机号段,则不适用,需更新)示例:13[0-9]开头、14[579]开头、15[0-3,5-9]开头、166开头、17[0135678]开头、18[0-9]开头、19[89]开头


匹配邮箱

/@/   简单版正则 /@/必须有@
var pattern = /^\w[\w\.-]*@[0-9a-z][0-9a-z-]*(\.[a-z]+)*\.[a-z]{2,6}$/i; 精确版

必须有@和.

@前面是邮箱名,要求至少一个字符,要求是数字、字母、下划线、[还可以用.-],但是开头必须是数字字母下划线

@和点之间:是一个域名,要求至少一个字符,可以是数字字母中横线,要求开头是数字或字母

点后面:要求是至少一个字符,必须是字母

点xxx,这部分可以出现一次,也可以出现多次

最后一个点后面,字符长度为2-6的字母


正则环视的用法


匹配后面字符为10的win

    var str = "win7 win8 win10";
    var res = str.match(/win(?=10)/g);
    console.log(res); //["win"]

匹配后面字符不为10的win

    var str = "win7 win8 win10";
    var res = str.match(/win(?!10)/g);
    console.log(res); //["win", "win"]

捕获和反向引用demo:

匹配连续四个数字,第一和第二数字相同,第三和第四数字相同

	var str = '1122 3434 5566 7879 9887';
	// var res = str.match(/\d{4}/g);
	var res = str.match(/(\d)\1(\d)\2/g);  
	// var res = str.match(/(\d)\1(\d)\2/g);
	console.log(res);// [1122 , 5566]

匹配连续四个数字,第一和第三数字相同,第二和第四数字相同

	var res = str.match(/(\d)(\d)\1\2/g);
	console.log(res); //[3434]

匹配连续四个数字,第一和第三数字相同

	var res = str.match(/(\d)\d\1\d/g);
	console.log(res); //[3434 , 7879]

匹配连续四个数字,第一和第二数字相同,第三和第四数字相同,并将相同的数字只保留一个  1122   5566  12  56

	// var res = str.replace(/(\d)\1(\d)\2/g, 'aaaa');
	var res = str.replace(/(\d)\1(\d)\2/g, '$1$2');
	console.log(res);

禁止反向引用 (?:)

	var str = '1122 3434 5566 7879 9887';
	var res = str.match(/(?:\d)(\d)\1\d/g);
	console.log(res); //[9887]


匹配中文--你好世界

    var str = "你好,世界";
    var res = str.match(/[\u4E00-\u9FA5]/g);
    console.log(res);//array["你", "好", "世", "界"]
    var res = str.match(/[\u4E00-\u9FA5]{1}/g);
    console.log(res);//["你", "好", "世", "界"]
    var res = str.match(/[\u4E00-\u9FA5]{2}/g);
    console.log(res);//["你好", "世界"]


匹配中文--解决结巴问题

	var str = "今今今天晚晚晚晚晚晚上吃吃吃吃吃吃鸡";
	//核心思路, 连续的重复的汉字,保留一个 (字符串替换)
	var res = str.replace(/([\u4E00-\u9FA5])\1+/g, '$1');
	console.log(res);


小米技术社区

本站内容均为小米原创,转载请注明出处:小米技术社区>> 工作常用正则表达式