常用的RegExp总结

第一部分介绍正则的定义

1. 正则的介绍 let reg = /pattern/flags

  • pattern 像上面let后面定义的则为正则的定义,pattern是其中的正则表达式(可以包含字符、限定符、分组、向前查找、反向引用)
  • flags 校验的标志 常用的有(g:全局匹配  i : 不区分大小写匹配)

 2.正则的定义

  • 字面变量法
// 定义全局条件
let reg = /a/g;

// 定义不区分大小写的条件
let reg1 = /a/i;

// 定义全局且不分大小写的条件
let reg2 = /a/gi;
  • 通过new操作符定义
// 定义全局的条件
let reg = new RegExp('/a/', 'g');

// 定义不区分大小写的条件
let reg1 = new RegExp('/a/', 'i');

// 定义全局且不区分大小写的条件
let reg2 = new RegExp('/a/', 'gi');

 3. 日常的用途

  • 用于数据的校验
// 可以用于校验手机号
let reg1 = /^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/;
let tel = 15869895475;
console.log(reg1.test(tel)); // true
let tel1 = 01234567890;
console.log(reg1.test(tel1)); // false

  •  结合字符串的replace的方法用于替换字符串
let reg = /a/g;
let str = 'abcaef';
let str_new = str.replace(reg, 'q');
console.log(str_new); // qbcqef
  • 结合字符串的match的方法用于截取字符串
let str = "http://www.runoob.com:80/html/html-tutorial.html";
let patt1 = /(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/;
arr = str.match(patt1);
console.log(arr);
console.log(arr.length);

// [ 'http://www.runoob.com:80/html/html-tutorial.html',
//   'http',
//   'www.runoob.com',
//   ':80',
//   '/html/html-tutorial.html',
//   index: 0,
//   input: 'http://www.runoob.com:80/html/html-tutorial.html',
//   groups: undefined ]
// 5
  • 结合字符串的search的方法用于截取字符串
let str = 'aaabcaad';
let reg = /(a|b)/g;
let str1 = 'A';
let result = str.search(reg)
console.log(result);  // 0
let result1 = str1.search(reg)
console.log(result1);  // -1

注:我们会发现符合条件的字符串返回 0 不符合的字符串返回 -1

 

第二部分介绍基本的正则表达式

  • 以后面的子表达式为开始
let str = 'abcd123';
// 下面的正则表示以a为开始即为符合条件的字符串
let reg = /^a/g;
console.log(reg.test(str)); // true
  • 以前面的子表达式为结束
let str = 'abcd123';
// 下面的正则表示以123结尾的字符串为符合条件的字符串
let reg = /123$/g;
console.log(reg.test(str)); // true
  • <
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值