zoukankan      html  css  js  c++  java
  • javascript正则表达式了解

    1.什么是正则表达式

      正则表达式是一种用于匹配字符串的规则给计算机看i的有两种表现形式(可以理解为一个对象)

    var reg=new RegExp("abc","g"); //这是一种abc代表你要匹配的字符串,g为附加的条件代表全局匹配,i代表不区分大小写
    var  reg=/所要匹配的内容/;

      方法

        正则.text("字符串")  匹配成功返回true  匹配不成功返回false

    var reg=/'abc'/;
    var str="abcd";
    if(reg.test(str))
    {
          alert("匹配成功");       
    }else{
        
    }      alert("匹配不成功");
    

      match()方法

        字符串.match(正则);

        匹配成功结果返回数组

        匹配不成功结果返回null

    var str = 'dsgud3456jgfuyj789';
    var a = /d+/g;
    var arr = str.match( a );
    	alert( arr );
    

      正则的转意   

         在正则里面是转义
        d 数字   指的是一个数,如果要多个则就用量词修饰
        D 非数字

        s 空格
        S 非空格

        w 字符 (数字 字母 下划线 等)
        W 非字符

      正则里的量词,量词用于修饰前一位的个数

        量词 : {}
        {2,3} 最少出现2次,最多出现3次
        + :{1,} 最少出现1次,
        * : {0,} 最少出现0,
        ? : {0,1} 最少出现0次,最多出现1次

      search()方法
        字符串.search( 正则 );
        匹配成功 返回字符所在位置
        匹配不成功 返回-1

    var str = '4bhdfshzhoufjajfgg';
    
    var r = /zhou/g;
    
    var a = str.search( r );
    
    alert( a )

      replace()
        字符串.replace(正则 , 参数);

        参数 :字符串 || 函数   通俗的讲就是把所匹配的的用其他字符串替换

      字符类  指的是匹配一个字符
        [ab] a或者b
        [0-9] 0到9
        [a-z] a到z
        [A-F] A到Z

        [^0] 不是0

    var eva = 'a371874535';
    
    var r = /[1-9]d{4,9}/;  //匹配1到9中的一个数
    
    alert( eva.match(r) )

        d D
        w W
        s S

         B 独立部分 空格、起始、结束
        . 所有的字符
        ^ 起始
        $ 结束

    实例

      QQ号的规则:
        只能是数字
        长度 : 5 10
        不能以0开头

      邮箱的规则: 2273711289@qq.com   jii433@163.cn.com
      手机号规则
        11 1 数字

    var regQQ = /^[1-9]d{4,9}$/;
     var regMail = /^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]$/;
    
    oTxt.onblur = function(){
        var val = this.value;
            if ( val.length )
            {
                if ( regMail.test( val ) )
                {
                    alert( 'OK' )
                }
                else
                {
                    alert( '您输入的邮箱不满足要求' );
                }
                        
            }
        }
  • 相关阅读:
    redis性能优化、内存分析及优化
    代码质量审核和管理工具分析比较
    SpringBoot集成Nacos
    Navicat,Dbeaver,heidiSql,DataGrip数据库连接工具比较
    python报错:
    6.Python深入_内存管理
    Win7安装python第三方模块objgraph报错
    5.Python深入_装饰器
    4.Python深入_闭包
    1.Python深入_对象的属性
  • 原文地址:https://www.cnblogs.com/zs521/p/8570452.html
Copyright © 2011-2022 走看看