正则表达式学习

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>
 </head>
 <body>

  <label>QQ:</label>
  <input type="text" name="" id="text">
  <label>邮箱:</label>
  <input type="text" name="" id="email">
  <script type="text/javascript">

    var reg = /qwe/;
    var str = "dfdqwedfdd";

    /*
    正则表达式:
    test()方法 
    reg.test(str) 如果满足规则,返回true,否则返回false

    【1】:转义
        <1>:\s 空格
        <2>:\S 非空格
        <3>:\d 单个所有数字
        <4>:\D 非数字
        <5>:\w 字符(数字,字母,_)
        <6>:\W 非字符
        <7>:\b 独立部分 (空格 开始 结束)
        <8>:\B 非独立部分
    【2】:量词 
        {1:2} 一个或者两个
        +: n >= 1;
        比如 /-w+/
        {1,}: + : n>= 1
        {0,}: * : n>= 0
        {0,1}:? : 0<=n<=1
        {1,5}: n: 1<= n <=5
     【3】:match
     str.mathch(reg) :满足匹配规则,把匹配成功的内容放进数组,否则返回Null
     【4】:标识
     g :全局匹配(从头到尾匹配完)
     i:不区分大小写 不带i默认是区分大小写的
     比如 var str = "wqwwrqqww";
     var reg = /w+/g
     var reg = /w+/gi 不区分大小写
     【5】:子集 加个括号
     var reg = /(qw)+/  解释:qw这一项出现多次
     var reg= /(qw)+(ss)/ 匹配子项1(qw) 匹配子项2(ss)
     当有子项,并且没有全局标识的时候,match返回的数组的第二
     【6】:字符集[]
        [0-9]:从0到9
        [1-5]:从1到5
        [a-z][A-Z][0-9]
        [F-K][f-k]
        [qw]q或者w与[q-w]不同 后一个是从q到w
        字符集里面的() {} 不算子集,是单纯的没有意义的字符
     【7】:其他小知识点综合
     . 一个点  任意字符
     ^ 开始 在字符集[]里面使用是 非
     比入var reg= /^q/ 必须以q开头
     $ 结束部分
     【8】:正则表达式里的特殊字符
     // / \ {} [] () . + ? * ^ $ 

    */
    //alert(reg.test(str));
    //var reg1 = /\d/;
    //alert(str.match(reg1));//null
    var email = document.getElementById("email");

    /*qq号的规则
        只能是数字
        长度:5:10
        不能以0开头
    */
    // qq正则
    var regQQ = /^[1-9]\d{4,9}$/;
    // 邮箱正则 ^\w 以字符开头
    var regEmail = /^\w+@[0-9a-zA-Z]{2,}(\.[a-zA-Z]{2,}){1,2}$/;
    // 手机号码正则
    var regTel = /^1[34578]\d{9}$/;
    // 身份证正则
    var regId = /^[1-9]\d{16}[0-9xX]$/;
    email.onblur = function(){
        var val = this.value;
        if(val.length){
            if(regEmail.test(val)){
                alert("ok");
            }else{
                alert("您输入的邮箱号不满足要求");
            }
        }
    }


  </script>
 </body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值