正则表达式规则与用法

规则:格式//

		 // 量词:量词只对它前面的一个内容起作用
			{n}//表示正好出现N次,
			{m,n},//出现m到n次
			+ //至少出现一次,相当于{1,}
			* //0或者多个,相当于{0,}
			?//0或者1个,相当于{0,1} 
			/^a/ //表示以a开头
			[^a] //表示除了a
			/a$/ //表示匹配结尾的a
			/^a$/表示只能为a;如果在正则表达式中同时使用^ $则要求字符串必须完全符合正则表达式
			/^a|a$/  //以a开头或者以a结尾
			
			 var reg=/a{3}/  //表示a正好出现3次
			 reg=/ab{3}c/  //表示b正好出现3次
			 reg=/ab{3}c/  //表示b正好出现3次
			 reg=/ab?c/  //表示b出现0次或者1次
			console.log(reg.test("abc"))//true

应用场景1:输出一个合法的手机号码

/* 
				输入一个合法手机号
				1:手机号必须为11位:1 3 999999999
				2:首位必须为1:^1
				3:第二位不能为1,2;[3-9]
				4:后面9位已0-9位结尾;[0-9]{9}$
*/
			var phone="13683970011"
			var phoneReg=/^1[3-9][0-9]{9}$/
			console.log(phoneReg.test(phone))//true

字符


			        1:.表示任意字符
				2:\. 把点转义后就表示.
				3:在构造函数中,由于是字符串的原因\\表示\,\\\\表示\\
				4:\w 表示任意字母和数字[A-z0-9_]
				5:\W 表示除了字母数字[^A-z0-9_]
				6:\d 任意数字[0-9]
				7:\D 除了数字[^0-9]
				8:\s 任意空格
				9:\S 除了空格
				10:\b单词边界
				
				8演示:去除开头和结尾的空格
				var str="    hello  nihao "
				//去除开头空格
				str=str.replace(/^\s*/,"");//hello  nihao
				//去除后面空格
				str=str.replace(/\s*$/,"");//    hello  nihao
				//去除前后
				str=str.replace(/^\s*|\s$/g,"");//hello  nihao;/g是全局的意思 
				console.log(str)
				
				10演示:查找某个单词(不包含所含单词的另一个单词)
				var reg=/\bchild\b/; //查找有没有child单词,children这个单词边界就不对了
				console.log(reg.test("child"))//true
				console.log(reg.test("hello children"))//false
				
posted @ 2021-03-12 18:31  FancyAnnaYL  阅读(138)  评论(0编辑  收藏  举报