88-----JS基础-----正则表达式语法

一 代码

不算难,但是个人对量词的+、*、?这三个用得不算特别熟,具体用到的时候花几分钟再研究一下即可。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			
			/*
			 * 创建一个正则表达式检查一个字符串中是否含有aaa
			 */
			
			/*
			 * 1. 量词
			 * 	- 通过量词可以设置一个内容出现的次数
			 * 	- 量词只对它前边的一个内容起作用
			 * 	- {n} 正好出现n次
			 * 	- {m,n} 出现m-n次
			 * 	- {m,} m次以上
			 * 	- + 至少一个,相当于{1,}
			 * 	- * 0个或多个,相当于{0,}
			 * 	- ? 0个或1个,相当于{0,1}
			 */

			var reg = /a{3}/;   // 表示正好出现3次a。

			reg = /(ab){3}/;    // 表示正好出现3次ab,必须添加括号,否则只对上一个字符有效,例如ab{3},表示abbb。
			
			reg = /b{3}/;       // 表示正好出现3次b。
			
			reg = /ab{1,3}c/;   // 表示b的次数可以是1个到3个。即abc,abbc,abbbc都可以。
            
			reg = /ab{3,}c/;    // 表示b的次数是3次以上。
			
			reg = /ab+c/;       // 表示至少一个b。这个不是很熟,后续用到再看。
			
			reg = /ab*c/;       // 表示b可以是0-多个?这个不是很熟,后续用到再看。
			
			reg = /ab?c/;       // 这一行不太懂,后续用到再看。
			
			//console.log(reg.test("abbc"));
			
			/*
			 * 2. 检查一个字符串中是否以a开头
			 * 	^ 表示开头
			 * 	$ 表示结尾
			 */
			reg = /^a/; //匹配开头的a
			reg = /a$/; //匹配结尾的a
			
			//console.log(reg.test("abcabca"));
			
			/*
			 * 3. 如果在正则表达式中同时使用^ $则要求字符串必须完全符合正则表达式。
			 */
			reg = /^a$/;            // 表示只能是a。
			//console.log(reg.test("bbca"));
			
			/*
			 * 4. 创建一个正则表达式,用来检查一个字符串是否是一个合法手机号
			 * 
			 * 手机号的规则:
			 * 	1 3 567890123 (11位)
			 * 	
			 * 	1. 以1开头
			 *  2. 第二位3-9任意数字
			 * 	3. 三位以后任意数字9个
			 * 
			 *  ^1   [3-9]  [0-9]{9}$
			 * 
			 */
			
			var phoneStr = "13067890123";
            // ^1表示首位必须是1;[3-9]表示第二位可以是3-9的数字;[0-9]{9}表示后面9位可以是0-9的数字,加上$后,表示这9位数字后,就是结尾,所以必须匹配11个数字。
			var phoneReg = /^1[3-9][0-9]{9}$/;      
			console.log(phoneReg.test(phoneStr));
			
		</script>
	</head>
	<body>
	</body>
</html>

Guess you like

Origin blog.csdn.net/weixin_44517656/article/details/121404432