JavaScript高级程序设计笔记——正则表达式

字符

1.元字符
在这里插入图片描述
2. 反义字符
在这里插入图片描述
3. 转义字符
在这里插入图片描述
4. 重复匹配
在这里插入图片描述

5.分组/捕获
在这里插入图片描述

6.贪婪与惰性
在这里插入图片描述
7. 修饰符
在这里插入图片描述

RegExp

定义正则表达式有两种方式:

  1. 字面量形式:var pattern = /.\w/gi;;
  2. RegExp 构造函数形式:var pattern = new RegExp('.\\w', 'gi');

正则对象(使用 RegExp 构造函数创建)方法有:

  1. pattern.test(string):对传入的 string 字符串进行模式匹配,返回一个布尔值,表示字符串是否匹配该正则。
  2. pattern.exec(string):返回一个匹配项数组。

字符串对象的match()search()split()replace()等方法也与正则表达式相关。

常用正则表达式

数字

1.校验数字:

var regExp = /^[0-9]*$/;
console.log(regExp.test('110')); // 输出: true

2.检验至少m位且至多n位数字:

var regExp = /^\d{3,5}$/; // "{m,n}"设置上下限可约束范围
console.log(regExp.test('110')); // 输出: true
console.log(regExp.test('11')); // 输出: false
console.log(regExp.test('111110')); // 输出: false

3.检验浮点数:

var regExp = /^(-?\d+)(\.\d+)$/;
console.log(regExp.test('11.0')); // 输出: true
console.log(regExp.test('0.11')); // 输出: true
console.log(regExp.test('-11.0')); // 输出: true
console.log(regExp.test('-0.11')); // 输出: true
console.log(regExp.test('11')); // 输出: false

其他

1.检验YYYY-MM-DD HH-mm格式的时间戳:

var regExp = /^\d{4}-\d{1,2}-\d{1,2}\s\d{2}:\d{2}$/;
console.log(regExp.test('2018-04-23 23:00')); // 输出: true

2.检查 HTML 标签和匹配#id形式的字符串:

var regExp = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;
console.log(regExp.exec('<h1></h1>')); // 输出: ["<h1></h1>", "<h1></h1>", undefined]
console.log(regExp.exec('#head')); // 输出: ["#head", undefined, "head"]

3.匹配最外层 HTML 标签名:

var regExp = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;
console.log(regExp.exec('<h1><span></span></h1>')[1]); // 输出: "h1"

4.匹配校验手机号:

var regExp = /^0?1[3|4|5|7|8][0-9]\d{8}$/;
console.log(regExp.test('13415156317')); // 输出: true

5.匹配电子邮箱:

var regExp = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
console.log(regExp.test('13415156317@163.com')); // 输出: true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值