js正则表达式用法汇总

  正则表达式具有强大的作用,概括起来主要有以下3点:

1)测试字符串的模式;

2)替换文本;

3)根据模式匹配从字符串中提取一个字符串。


一、表达式的创建

      创建方式1:

    var reg = new RegExp();//创建对象
    reg = new RegExp("c");  //匹配字母c
    reg = new RegExp("c","gi"); //表示不区分大小写匹配字母c

      创建方式2:

   var reg = /c/gi;

二、对象方法

     下面罗列一些常用的方法:

    1)test:返回一个Boolean值,判断指定的字符串中是否存在模式,存在返回true,否则返回false;

    2)match:找到一个或多个正则表达式的匹配;

    3)replace:替换与正则表达式匹配的子串;

    4)search:检索与正则表达式匹配的值。

    5)   exec:用正则表达式在字符串中查找,并返回数组。


三、语法与例子

      1、简单匹配

        var str = "They love us,we are happy!";
        var reg = new RegExp("we");
        alert(reg.test(str));  //返回true,只要字符串中含有we即可
      2、i 表示忽略大小写

        // i表示忽略大小写
        var str = "They love us,we are happy!";
        var reg = new RegExp("We");
        alert(reg.test(str));  //返回false

        var reg = new RegExp("We","i"); //第二个参数i表示不区分大小写
        alert(reg.test(str));  //返回true

     3、^ 表示字符开始位置,$表示字符结尾位置

        var str = "They love us,we are happy!";
        var reg = new RegExp("^we");
        alert(reg.test(str));  //返回false,因为we不在开始位置

        var reg = new RegExp("^The");
        alert(reg.test(str));  //返回true
        var str = "They love us,we are happy!";
        var reg = new RegExp("^The$");
        alert(reg.test(str));  //返回false,因为The虽然在开头,但不在末尾。

        var str = "They love us,we are happy!";
        var reg = new RegExp("happy!$");
        alert(reg.test(str));  //返回true

     4、\s表示匹配任何空白字符,包括空格、制表符、换页符等;

           \d表示0-9任意一个数字;

           \w表示任意一个字母、数字和下划线;

          \. 小数点可以匹配除了换行符(/n)以为的其他任意字符;

          +表示字符至少要出现一次

    var str = "su 8";
    var re = /^[a-z]+\s\d+/;
    alert(re.test(str)); //返回true
    var array = re.exec(str);
    alert(array[0]); //数组的第一个元素为完整的匹配内容

     5、[ ]表示匹配指定范围内任意字符

        var str = "we are family";
        var reg = new RegExp("[a-z]");
        alert(reg.test(str));  //返回true

        var str = "123we are family";
        var reg = new RegExp("^[a-z]"); //以字母开头
        alert(reg.test(str));  //返回false

      6、用()来创建子匹配

    var str = "jQuery 1.11";  //下面获取主版本号1和次版本号11
    var re = /\d+\.+\d+/;
    var array = re.exec(str); //这种方法只能获得1.11
    alert(array[0]); //数组的第一个元素为完整的匹配内容

    var re = /(\d+)\.+(\d+)/;  //利用括号创建子元素
    var array = re.exec(str); 
    alert(array[0]); //完整的匹配字符串1.11
    alert(array[1]);//第一个子元素1
    alert(array[2]); //第二个子元素11

     



  

     


  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值