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

    正则表达式是对字符串执行模式匹配的强大工具

    有两种语法:

    1、直接量的语法

    /pattern/attributes/正则/正则属性),例子:

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script type="text/javascript">
        var str="302";
        var re=/^[012]/;
    
        alert(re.test(str));
        </script>
    </head>
    <body>
    </body>
    </html>

     

    2、RegExp 对象的语法:

    new RegExp(pattern, attributes);

    pattern里面为一个字符串,代表的就是正则;attributes为可选字符串,包含属性"g""i" 和 "m"

    分别用于指定全局匹配、区分大小写的匹配和多行匹配

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script type="text/javascript">
        var str="302";
        var re=/^[012]/;
    
        var pattern2 = new RegExp("^[012]");
        alert(pattern2.test(str));
        </script>
    </head>
    <body>
        
    </body>
    </html>

    元字符

    .   :查找单个字符,除了换行和行结束符。

    w:查找单词字符。

    d:查找数字。

    s:查找空白字符。

    :匹配单词边界

    :查找换行符

    u:匹配汉字

    n$:匹配任何结尾为 的字符串。

    ^n:匹配任何开头为 的字符串。

     

    [abc]   :查找方括号之间的任何字符。

    [^abc]:查找任何不在方括号之间的字符。

    [0-9]:查找任何从 至 的数字。

    [a-z]:查找任何从小写 到小写 的字符。

    [A-z]:查找任何从大写 到小写 的字符。

     

    search:检索与正则表达式相匹配的值。

    match:找到一个或多个正则表达式的匹配。基本需要配合g,返回一个数值

    replace:替换与正则表达式匹配的子串。

    test:检查正则表达式是否与字符串匹配,是返回true;否则,返回false

     

    n+  :匹配任何包含至少一个 的字符串。

    n*:匹配任何包含零个或多个 的字符串。

    n?:匹配任何包含零个或一个 的字符串。

    n{X}:匹配包含 个 的序列的字符串。

    n{X,Y}:匹配包含 或 个 的序列的字符串。

     

    匹配汉字

    <!doctype html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript">
    window.onload=function (){
    
        var oTxt=document.getElementById("txt1");
    
        oTxt.onkeyup=function (){
    
            var oTxtValue=oTxt.value;
            //9fa5最大字符
            //4e00最小中文字符
            var str="er撒的范德萨ere的发生大3242d的范德萨";
            var re=/[u4e00-u9fa5]+/g;
    
            oTxt.value=str.replace(re,"");
    
        }
    }
    </script>
    </head>
    <body>
    <input type="text" id="txt1">
    </body>
    </html>

    去掉字符串开头和结尾的空格

    <!doctype html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript">
    var str=" dsfsd 1232 fsdfds dsfds ";
    
    alert("("+str.replace(/^s+|s+$/g,"")+")");
    </script>
    </head>
    <body>
    
    </body>
    </html>

    过滤标签

     1 <!doctype html>
     2 <html lang="en">
     3 <head>
     4 <meta charset="UTF-8">
     5 <title>Document</title>
     6 <script type="text/javascript">
     7 window.onload=function (){
     8 
     9     var oTxt1=document.getElementById("text1");
    10     var oTxt2=document.getElementById("text2");
    11     var oBtn=document.getElementById("btn1");
    12 
    13 
    14     oBtn.onclick=function (){
    15 
    16         var oTxtValue=oTxt1.value;
    17         //<br> <a href="###">  </a>
    18         var re=/<[^<>]+>/g;
    19 
    20         oTxt2.value=oTxtValue.replace(re,function (s){
    21             
    22             //<br> <BR> <br /> <br/>
    23             var re=/<brs*/?>/i;
    24 
    25             if (re.test(s)){
    26                 return "
    ";
    27             }else{
    28                 return "";
    29             }
    30         });
    31     }
    32 }
    33 </script>
    34 </head>
    35 <body>
    36 <textarea id="text1" rows="10" cols="80"></textarea><br/>
    37 <input type="button" value="过滤" id="btn1"/><br/>
    38 <textarea id="text2" rows="10" cols="80"></textarea>
    39 </body>
    40 </html>

    匹配邮箱

     1 <!doctype html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Document</title>
     6     <script type="text/javascript">
     7     //641418330@qq.com   tangcaiye@gmail.com
     8     //tangxiangrong@bokanedu.com
     9     //tangxiangrong@163.com
    10     //tangxiangrong@163.com.org.xx.aa
    11 
    12     //数字、字母、_  @  数字、小写字母{2,8} (.小写字母){1,4} 
    13 
    14     //^w+@[0-9a-z]{2,8}(.[a-z]{2,4}){1,4}$
    15 
    16     
    17 
    18 
    19 
    20     window.onload=function (){
    21 
    22         var oTxt=document.getElementById("txt1");
    23         var oBtn=document.getElementById("btn1");
    24 
    25         oBtn.onclick=function (){
    26 
    27             var oTxtVlaue=oTxt.value;
    28             var re=/^w+@[0-9a-z]{2,8}(.[a-z]{2,4}){1,4}$/;
    29 
    30             if (re.test(oTxtVlaue)){
    31                 alert("正确");
    32             }else{
    33                 alert("错误");
    34             }
    35         }
    36     }
    37 
    38     </script>
    39 </head>
    40 <body>
    41     <input type="text" id="txt1">
    42     <input type="button" value="验证" id="btn1">
    43 </body>
    44 </html>

     

     

  • 相关阅读:
    实现168732363.66元用逗号格式为168,732,363.66元
    程序员的十步学习法
    js中字符串方法大全
    js中数组方法大全
    异常,常用工具
    抽象类,常用类
    this 关键字
    面向对象
    DOS.JDK
    Android
  • 原文地址:https://www.cnblogs.com/night2013/p/3584704.html
Copyright © 2011-2022 走看看