4.4、RegExp正则表达式对象

1、什么是正则表达式

  • 正则表达式可以用来匹配字符串,通过正则表达式,可以实现字符串的截取、按规则替换、验证字符串的内容等

2、正则表达式的语法

语法作用
^开头
$结尾
[]范围
{}位数
\w范围:数字字母(包大写)和下划线
\d范围:[0-9]
\s范围:空格换行
.范围:只要不是null即可
+位数:1-多位
?位数:0-1位
\转义(特殊符号)

3、[]:指定范围,//:表示正规

		// 1、输入用户名
		var username = 'jasmine';
		// 2、[]:指定范围,//:表示正规
		var reg = /[a-z]/;
		// 3、test返回布尔值
		var result = reg.test(username);		// 输出结果:true
		console.log(result);

4、^:开头、$:结尾,规定开头范围[a-z],只能匹配一位

		// 4、^:开头、$:结尾,规定开头范围[a-z],只能匹配一位
		var username = 'j';
		var reg = /^[a-z]$/;
		// 5、exec返回匹配的内容
		var result = reg.exec(username);		// 输出结果:j
		console.log(result);

5、{}:位数,{2}:范围只能匹配两位

		// 5、^:开头、$:结尾,{2}:两位,规定开头范围[a-z],只能匹配两位
		var username = 'ja';
		var reg = /^[a-z]{2}$/;
		var result = reg.exec(username);		// 输出结果:ja
		console.log(result);

6、[]:范围a-z,{5-8}:位数只能匹配5-8位

		// 6、{5,8}:5-8位,规定范围[a-z],只能匹配5-8位
		var username = 'jasmine';
		var reg = /^[a-z]{5,8}$/;
		var result = reg.exec(username);		// 输出结果:jasmine
		console.log(result);

7、[a-z0-9]:范围可以写字母数字

		// 7、规定范围[a-z0-9],可以写字母数字,只能匹配5-10位
		var username = 'jasmine123';
		var reg = /^[a-z0-9]{5,10}$/;
		var result = reg.exec(username);		// 输出结果:jasmine123
		console.log(result);

8、[a-z0-9A-Z]:可以写字母数字(包大写)

		// 8、规定范围[a-z0-9A-Z],可以写字母数字(包大写)
		var username = 'Jasmine123';
		var reg = /^[a-z0-9A-Z]{5,10}$/;
		var result = reg.exec(username);		// 输出结果:Jasmine123
		console.log(result);

9、[a-z0-9A-Z_]:可以写字母数字(包大写)和下划线

		// 9、规定范围[a-z0-9A-Z_],可以写字母数字(包大写)和下划线
		var username = 'jasmine_123';
		var reg = /^[a-z0-9A-Z_]{1,15}$/;
		var result = reg.exec(username);		// 输出结果:jasmine_123
		console.log(result);

10、用\w取代范围[a-z0-9A-Z_],字母数字(包大写)和下划线

		// 10、用\w取代规定范围[a-z0-9A-Z_],可以写字母数字(包大写)和下划线
		var username = 'Jasmine_123';
		var reg = /^\w{1,15}$/;
		var result = reg.exec(username);		// 输出结果:Jasmine_123
		console.log(result);

11、\d:数字,范围[0-9]

		// 11、\d:数字,范围[0-9]
		var username = '123';
		var reg = /^\d+$/;
		var result = reg.exec(username);		// 输出结果:123
		console.log(result);

12、\s:空格换行

		// 12、\s:空格换行
		var username = '   ';
		var reg = /^\s+$/;
		var result = reg.exec(username);		// 输出结果:空格
		console.log(result);

13、?:位数0-1位

		// 13、?:位数0-1位
		var username = '1';
		var reg = /^\d?$/;
		var result = reg.exec(username);		// 输出结果:1
		console.log(result);

14、.:范围只要不是null即可

		// 14、.:范围只要不是null即可
		var username = 'jasmine';
		var reg = /^.+$/;
		var result = reg.exec(username);		// 输出结果:jasmine
		console.log(result);

15、\:转义(特殊符号)

		// 15、\:转义(特殊符号)
		var username = 'jasmine+';
		var reg = /^\w{1,15}\+$/;
		var result = reg.exec(username);		// 输出结果:jasmine+
		console.log(result);

16、校验邮箱

		// 16、校验邮箱
		var email = 'jasmine_512@qq.com';
		var reg = /^\w{5,12}@qq\.com$/;
		var result = reg.test(email);		// 输出结果:true
		if (result) {
			console.log('校验成功')
		} else {
			console.log('校验失败')
		}

17、替换字母为空,g为全局匹配,没有g就匹配一个字母

		// 17、替换字母为空,g为全局匹配,没有g就匹配一个字母
		var str = '2132fsdfsdfsf';
		var reg = /[a-zA-Z]/g;
		var result = str.replace(reg, "");
		console.log(result);		// 输出结果:2132

18、截取字符串,():实现分组

		// 18、截取字符串,():实现分组
		var data = '2020-02-12';
		var reg = /^(\d{4})-(\d{2})-(\d{2})$/;
		var result = reg.exec(data);
		console.log(result[1] + '年' + result[2] + '月' + result[3] + '日');
		// 输出结果:2020年02月12日
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jasmine_qiqi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值