正则表达式2

4.2字符集合
  • [ ]
var reg=/[1a2b3]/; //匹配一个字符,这个字符必须是:1/a/2/b/3其中一种,如果是就表示满足,如果不是就不满足
    reg.test("a");      //结果为:true
    reg.test("3");      //结果为:true
    reg.test("fg56"); //一个符合要求的字符都不存在,结果为:false
    reg.test("a999");    //结果为:true

 var reg2=/[0-9]/;   //匹配数字0-9之间,任何一个数字 等价于:/\d/
    var reg3=/[a-z]/;   //匹配小写字母
    var reg4=/[A-Z]/;   //匹配大写字母
    var reg5=/[a-zA-Z]/;//匹配所有字母
    var reg6=/[A-Za-z]/;//匹配所有字母

  • [ ^ ]
    var reg=/[^123]/;   //匹配一个字符,但是这个字符既不是1 并且 不是2 并且 不是3 
    reg.test("a");      //true
    reg.test("3");      //false
    reg.test("123");    //没有1,2,3以外的字符,结果为:false
    reg.test("a123");   //存在一个符合条件的a,所以结果为:true
4.3边界
  • ^ 表示字符串最左边
  • $ 表示字符串最右边
    var reg=/^abc/;     //表示以abc开头
    reg.test("123abc123");  //并不是以abc开头,结果为:false
    reg.test("abc123");     //以abc开头,结果为:true
    var reg=/abc$/;     //表示以abc结尾
    reg.test("123abc"); //结果为:true
    reg.test("abc123"); //结果为:false
    reg.test("123bc");  //结果为:false
    var reg=/^abc$/;    //表示字符串abc
    reg.test("abc");    //结果为:true
    reg.test("123abc"); //结果为:false
4.4量词
  • * 出现0次或多次
    var reg=/\d*/;
    reg.test("123");    //true
    reg.test("234");    //true

    var reg3=/1\d*/;
    reg3.test("1"); //true
    reg3.test("123");   //true
    reg3.test("a123")   //true
    reg3.test("a123456b");   //false
  • + 出现1次或多次(至少一次)
    var reg=/1\d+/;
    reg.test("1");      //false
    reg.test("123");    //true
  • ? 出现0次或一次
    var reg=/1\d?/; 
    reg.test("12");     //true
    reg.test("1");      //true
  • {5} 出现5次
    var reg=/1\w{5}/;
    reg.test("1abc");   //false
    reg.test("112345"); //true
    reg.test("1abc12"); //true
  • {2,} 至少出现2次
    var reg=/\d{2,}/;
    reg.test("12"); //true
    reg.test("5");  //false
  • {3,5} 出现3-5次
    var reg=/abc{3}/;           //表示匹配abccc
    reg.test("123abccc123");    //结果为:true
    var reg3=/(abc){2}/;    //匹配abcabc
  • ( ) 分组
    //010-88889999
    //0576-12312312
    //0895-1234567
    var reg=/(\d{3,4})-(\d{7,8})/;  //匹配电话号码
    var arr="021-33335555".match(reg)
    arr[0]  //全部
    arr[1]  //第一组:区号:021
    arr[2]  //第二组:号码:333355555
  • | 或者
    var reg=/abc|123/;  //表示匹配abc或者123
    reg.test("abc456"); //true
    var reg5=/^abc|123$/;  //匹配以abc开头,或者以123结尾
    reg5.test("abcafsadfasd");//true
    reg5.test("afsdfasdf123");//true
    var reg6=/^(abc|123)$/;        //匹配abc/123,并且只能出现abc或者123
     console.log(reg6.test("abc"));//true
    console.log(reg6.test("123"));//true
    console.log(reg6.test("abc123"));//false

以上是基本的正则表达式一些规则,更多详细可以参考文档:正则表达式参考文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值