WEB前端 | JS基础——(12)正则表达式

<!doctype html>
<html>
	<head>
		<meta charset="utf-8"/>
		<title>正则表达式</title>
	</head>
	<body>
	</body>
	<script type="text/javascript">
		// 正则表达式就是一种规则
		
		// 13702775678 112537427@qq.com
		// 手机号:11位,1开头
		// 有@,@前面有2~7个字符 @后面2~4个 .com结尾
		// 把我们一个判定的规则转成计算机能识别的表达式,就是正则表达式
		// 用途:判断用户输入的是否是一个手机号、邮箱、身份证号码、有效的昵称
		
		// 正则表达式用法:
		// 定义一个正则
		// 正则的写法是两个/
		// 第一个/后面跟规则 \d 代表数字
		// 第二个/后面跟属性,g代表匹配多次
		var re = /\d/g;  // \d代表数字;
		var testStr = '0123abcde';
		testStr.search(re);
		// 返回根据规则找到的字符的位置
		console.log(testStr.search(re));
		// 返回根据规则找到的字符的内容
		console.log(testStr.match(re));
		console.log(testStr.replace(re,'Y'));
		
		// 元字符
		var re2 = /\w/g; // \w代表的是字符(包含英文字母和下划线、数字)
		var re22 = /./g;	 // .代表单个字符(不包括换行)
		var testStr2 = 'hello, how are you, i am fine, and you _ 012';
		console.log(testStr2.match(re2));
		console.log(testStr2.match(re22));
		
		// 方括号
		var re3 = /[5-7]/g;
		var re33 = /[^abc]/g;
		// [abc]代表包含abc之间的任意一个字符
		// [^abc]除去abc以外的字符
		var testStr3 = 'ha5hah6a, ab7FFFF';
		console.log(testStr3.match(re3));
		console.log(testStr3.match(re33));
		
		// 量词
		var re4 = /5{2}/g;
		// n+代表至少包含一个n(5+代表至少包含一个5)
		// [4-5]+ 代表一个或多个4、5的组合
		// ^n在字符串第一个位置的n
		// n$在字符串最后一个位置的n
		var testStr4 = '12345675589555';
		console.log(testStr4.match(re4));
		
		
		// 单词边界
		// 单词边界, \b代表一个单词的起始或者结束位置
		// \bbox代表以box开头的单词, box\b代表一box结尾的单词, \bbox\b代表box这个单词
		var re5 = /\bbox\b/g;
		var testStr5 = "midbox box";
		console.log(testStr5.match(re5));
		// test方法
		console.log(re5.test(testStr5));
		
		// 特殊字符
		// 转义字符 \+ 代表查找有没有加号
		// \* 代表查找'*'号
		// \加上一个特殊字符,就是查找特殊字符本身
		var re6 = /\+/g;
		var testStr6 = '41518+85718888';
		console.log(testStr6.match(re6));
		
		// 手机号
		var testStr7 = '13451566789';
		var re7 = /^1[34578]\d{9}$/;
		console.log(re7.test(testStr7));
		
		// [\u4e00-\u9fa5]  判断汉字
		
		// 邮箱正则表达练习
		var mailRe = //;
		
		
		// http://blog.csdn.net/lcore/article/details/8883092
	</script>
</html>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值