JS中的RegExp对象

JS

RegExp对象

1).定义:专门在js程序中保存一条正则表达式的对象
2).何时:在js中需要用到正则表达式,就需要用RegExp
3).创建:2种方式

​ 1.标准方式创建

var reg=new RegExp("正则表达式","ig");
其中保存一条正则表达式
i ignore
g global

​ 2.简写方式创建

var reg=/正则表达式/ig; 

例子:

var str=prompt("请输入内容");
    var reg=new RegExp("[我wo卧][cao艹草槽]");
    // var reg=/[我wo卧][cao艹草槽]/;
    // search函数,查找字符串中是否包含reg中的词没如果找到就返回第一个敏感词所在的下标位置,如果没找到就返回-1
    var res=str.search(reg);
    if(res!==-1){
        console.log("包含敏感词,禁止发送")
    }else{
        console.log("小明说:"+str);
    }
4).RegExp对象中的两个函数

​ 1).test()函数 用于验证字符串是否符合正则表达式

在写正则表达式时,想要完全匹配时,需要加“^”或“$”(正则的开始和结束标志)

 var str1=prompt("请输入手机号");
    // var reg1=/^1[3-9]\d{9}$/;     //11位数字,首位1,第二位是3-9的任一数字,后面9个数字
    // 注意:转义字符的使用,因js中语法中也有\,所以正则表达式中的\需要用转义字符\\
    var reg1=new RegExp("^1[3-9]\\d{9}$")
    // test方法,用于测试字符串中输入的信息格式是否正确,其中test的匹配是只要找到就返回true,而不是完全匹配
    var res1=reg1.test(str1);
    if(res1===true){
        console.log("格式正确")
    }else{
        console.log("格式错误");
    }

注意事项:1.test方法在使用过程中,它是自己匹配(也就是说,在字符串中只要有部分匹配的就返回 true),不是完全匹配。

2.转义字符的使用,在使用new创建正则表达式时需要注意转义字符,因js中语法中也有, 所以正则表达式中的\需要用转义字符\

​ 2).exec()函数 用于查找字符串中的敏感词匹配,返回值是数组,数组中有两个属性:[0:敏感词,“index":下标]

// 查找字符串中所有包含"小X"的字符串
   var str="老师说:用小红 我的 朋友造句。小南说:小红是我的朋友。小亮说:朋友!小红是我的。";
   var reg=/小[\u4e00-\u9fa5]/g; 
   var num=0;
   do{
    var res=reg.exec(str);
    num++;
    if(res!==null){
        console.log(num,res);
        console.log(`在${res["index"]}处找到敏感词${res["0"]}`);
    }
   }while(res!==null)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值