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

    ~~~~~基本方法:

    1.test

    正则.test(字符串)//判断字符串是否符合正则,符合返回true 否则返回false

    2.search()

    字符串.search(正则)

    在字符串中搜索符合正则的,有的话返回符合的位置,否则返回-1

    3.match()

    字符串.match(正则)

    在字符串中搜索符合正则的内容,搜索成功返回内容(以数组形式),否则返回null

    4.replace()

    字符串.replace(正则,替换的字符串)

    查询符合正则的字符串,查询成功就替换成对应的字符串,返回替换后的内容

    ~~~~~常见用某些单词表示一组:

    s空格

    S非空格

    d数字

    D非数字

    w字符(字母 数字 下划线)

    W非字符

    ~~~~~常见的特殊字符的表示:

    g全局查找

    i忽略大小写

    转义

    ^字符串的开始位置

    $字符串的结束位置

    *任意次数

    +大于1次

    ?0次或者1次

    {n}匹配n次

    {n,}匹配大于n次

    {n,m}匹配大于n次小于m次

    |或

    [a-b]a到b的范围

    [abc]a,b,c中的任意一个

    [^abc]除了a,b,c中的任意一个

    [^a-z]除了a到z之间的任意一个


    (pattern) 
       匹配 pattern 并捕获该匹配的子表达式。可以使用 $0...$9 属性从结果“匹配”集合中检索捕获的匹配。若要匹配括号字符 ( ),请使用“(”或者“)”。 

    (?:pattern) 
        匹配 pattern 但不捕获该匹配的子表达式,即它是一个非捕获匹配,不存储供以后使用的匹配。这对于用“或”字符 (|) 组合模式部件的情况很有用。例如,与“industry|industries”相比,“industr(?:y| ies)”是一个更加经济的表达式。
     
    (?=pattern) 
        执行正向预测先行搜索的子表达式,该表达式匹配处于匹配 pattern 的字符串的起始点的字符串。它是一个非捕获匹配,即不能捕获供以后使用的匹配。例如,“Windows (?=95| 98| NT| 2000)”与“Windows 2000”中的“Windows”匹配,但不与“Windows 3.1”中的“Windows”匹配。预测先行不占用字符,即发生匹配后,下一匹配的搜索紧随上一匹配之后,而不是在组成预测先行的字符后。 

    (?!pattern) 
        执行反向预测先行搜索的子表达式,该表达式匹配不处于匹配 pattern 的字符串的起始点的搜索字符串。它是一个非捕获匹配,即不能捕获供以后使用的匹配。例如,“Windows (?!95| 98| NT| 2000)”与“Windows 3.1”中的“Windows”匹配,但不与“Windows 2000”中的“Windows”匹配。预测先行不占用字符,即发生匹配后,下一匹配的搜索紧随上一匹配之后,而不是在组成预测先行的字符后。

    例子:

    其他的还好,自己看看正则的语法就好了。我这块有一个检测密码强度的正则:

    要求是:有数字 字母 特殊字符表示密码的强弱

    var strongRegex = new RegExp(/(?=.*[d]+)(?=.*[a-zA-Z]+)(?=.*[^a-zA-Zd]+).{8,50}/g);//高 数字字母特殊字符全部符合
    var mediumRegex = new RegExp(/(?![d]+$)(?![a-zA-Z]+$)(?![^da-zA-Z]+$)[da-zA-ZW_]{8,50}/g);//中 数字字母特殊字符符合两个
    var weakRegex = new RegExp(/(d+)|([a-zA-Z]+)|([^da-zA-Z]+){8,50}/g);//弱 数字字母特殊字符符合其中的一个

    
    
    /电话
                (function(){
                    var tel=$("#tel").val();
                    var t=/^1d{10}$/;
                    var bool=t.test(tel);
                    console.log(bool);
                    $(".tel").text(bool);
                })();
                //邮箱
                (function(){
                    var email=$("#email").val();
                    console.log(email);
                    var te=/^(d|a){2,20}@126.com$/;
                    var bool=te.test(email);
                    console.log(bool);
                    $(".email").text(bool);
                })();
    
    
    
     
       
       
       
       
       
       
  • 相关阅读:
    自动化测试用例设计实例
    day07 python2与python3 编码
    day06-2 数据结构
    遇到一个关于C#调用Microsoft.Office.Interop.Word实例化的一个问题
    关于C#调用matlab生成的dll的一些经验(亲测)
    javascript 检测浏览类型和版本
    图片自适应完美兼容IE8
    Java VS .NET:Java与.NET的特点对比
    【C#点滴记录】ASP.NET 使用C# 导出Word 和Excel
    关于现在IT行业从业者一些建议
  • 原文地址:https://www.cnblogs.com/GainLoss/p/6041519.html
Copyright © 2011-2022 走看看