• 正则表达式


    认识:

    假设用户需要在 HTML 表单中填写姓名、地址、出生日期等。那么在将表单提交到服务器进一步处理前,JavaScript 程序会检查表单以确认用户确实输入了信息并且这些信息是符合要求的。

    概念:

    正则表达式(regular expression)是一个描述字符模式的对象。ECMAScript RegExp 类,表示正则表达式,而 String 和 正则表达式都定义了,进行强大的【模式匹配】和【文本检索】与【替换】的函数。 

    在使用JS做验证的过程中,一个简单的验证规则的实现非常的麻烦。如:从杂乱的字符串中找数字

        var str = "asd68asd687as6da78sd123123zcacas"

        var linshi='';

        var arr=[]

        for(var i = 0 ; i < str .length ; i ++){

            if(str.charAt(i)>=0&&str.charAt(i)<=9){

                linshi+=str.charAt(i)

            }else{

                if(linshi!=''){

                    arr.push(linshi)     

                }

            }

        }

        if(linshi!=''){

            arr.push(linshi)     

        }

        console.log(arr)

    创建:

    字面量var reg = /hello/ig;

    构造函数var reg = new RegExp(“hello”,”ig”);

    使用:

    正则的方法 – test

    test是用来检测字符串是否符合我们正则的标准

    语法:正则.test(字符串)

    返回值:boolean

    正则的方法 – exec

    exec是把字符串中符合条件的内容捕获出来

    语法:正则.exec(字符串)

    返回值:把字符串中符合正则要求的第一项以及一些其他信息,以数组的形式返回

    【注】这个方法的具体功能比较丰富,但是字符串有替代方法,这里只需要简单了解即可。

    字符串的方法(可以使用正则)

    search

    是查找字符串中是否有满足正则条件的内容

    语法:字符串.search(正则)

    返回值:有的返回开始索引,没有返回-1

    replace

    replace是将字符串满足正则条件的字符串替换掉

    语法:字符串.replace(正则,要替换的字符串)

    返回值:替换后的字符串

    组成:

    正则表达式元字符是包含特殊含义的字符。它们有一些特殊功能,可以控制匹配模式的方式。

    元字符

    l . : 匹配非换行的任意字符

    l  : 转译符号,把有意义的符号转换成没有意义的字符,把没有意义的字符转换成有意义的符号

    l s : 匹配空白字符(空格/制表符/...)

    l S : 匹配非空白字符

    l d : 匹配数字

    l D : 匹配非数字

    l w : 匹配数字字母下划线

    l W : 匹配非数字字母下划线

    限定符

    l *:前一个内容重复至少0次,也就是可以出现0~正无穷次

    l +:前一个内容重复至少1次,也就是可以出现1~正无穷次

    ?:前一个内容重复0或者1次,也就是可以出现0~1

    l {n} : 前一个内容重复n次,也就是必须出现n

    l {n} : 前一个内容至少出现n次,也就是出现n~正无穷次

    l {nm} : 前一个内容至少出现n次至多出现m次,也就是出现n~m

    限定符是 配合元字符使用的

    边界符

    l ^ : 表示开头

    l    表示结尾

    边界符是限定字符串的开始和结束的

    特殊符号

    l () : 限定一组元素

    l [] : 字符集合,表示写在[]里面的任意一个都行

    l [^] : 反字符集合,表示写在[^]里面之外的任意一个都行

    l - : 范围,比如a-z表示从字母a到字母z都可以

    l | : 或,正则里面的或a|b表示字母a或者b都可以

    l i : 表示忽略大小写,这个i是写在正则的最后面的

    l g : 表示全局匹配

  • 相关阅读:
    Redis学习六(java中使用redis)
    Redis学习五(新数据类型)
    Redis学习四(发布和订阅)
    Redis学习三(配置文件说明)
    Redis学习二(常用五大数据类型)
    Redis学习一(源码安装redis)
    RocketMq常见问题记录
    总结多种容器化技术对比
    关于Redis集群部署和持久化的相关问题
    配置Jenkins连接kubernetes的Pod Template模板
  • 原文地址:https://www.cnblogs.com/wyy0217/p/12639121.html
Copyright © 2020-2023  润新知