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

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="utf-8">
     5         <title></title>
     6     <script type="text/javascript">
     7    /*
     8    正则表达式
     9    用于定义一些字符串的规则
    10    计算机可以根据正则表达式,来检查一个字符是否符合规则
    11    获取将字符串中符号规则的内容提取出来
    12    
    13    使用构造函数来创建正则表达式的对象
    14    语法
    15    var 变量=new RegExp("正则表达式","匹配模式");
    16    使用typeof检查正则表达式,会返回object
    17    在构造函数中可以传递是一个匹配模式作为第二个参数
    18     可以是
    19       i 忽略大小写
    20       g 全局匹配模式
    21    
    22    正则表达式的方法
    23    test()
    24    使用这个方法可以用来检查一个字符串是否符合正则表达式的规则
    25    如果符号则返回true,否则返回false 严格区分大小写
    26    
    27    */
    28     var reg=new RegExp("a");//这个正则表达式可以来检查一个字符串中是否有a
    29     var str="waw";
    30     reg.test(str);//false
    31     reg=RegExp("a","i");
    32     console.log(reg.test("A"));//true
    33     
    34     /*
    35     使用字面量来创建正则表达式
    36     语法
    37     var 变量 = /正则表达式/匹配模式
    38     
    39     使用字面量的方式创建更加简单
    40     使用构造函数的方式更加灵活
    41     
    42     1.检查一个字符串中是否有a或b
    43     使用|表示或的意思
    44     []里的内容也是或的关系
    45     2.检查一个字符串中是否有字母
    46     [a-z] 任意小写字母
    47     [ab]==a|b
    48     [A-Z] 任意大写字母
    49     reg=/a[bde]c/
    50     [^ ] 除了
    51     */
    52    reg= /a/i;
    53    console.log(reg.test("abc"));
    54    reg=/a|b/i;
    55    reg=/[^ab]/;
    56    console.log(reg.test("abc"));//true 含有除了ab以外的字符
    57     </script>
    58     </head>
    59     <body>
    60     </body>
    61 </html>

    正则表达式语法

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="utf-8">
     5         <title></title>
     6     <script type="text/javascript">
     7     var str="a121dqwdafs";
     8    /*
     9    split()
    10    可以将一个字符串拆分为一个数组
    11    方法中可以传递一个正则表达式作为参数,这样方法将会根据正则表达式去拆分字符串
    12    
    13    根据任意字母来将字符串拆分,这个方法即使不指定全局匹配,也会全部拆分
    14    */
    15    var result=str.split(/[A-z]/);
    16    console.log(result);
    17    
    18    
    19    /*
    20    search()
    21    可以搜索字符串是否含有指定内容
    22    如果搜索到指定内容,则会返回第一次出现的索引,如果没有搜索到返回-1
    23    它可以接受一个正则表达式作为参数,然后会根据正则表达式去检索字符串
    24    search()只会查找一个,即使设置全局匹配也没用
    25    */
    26   str="helloabc hello abc";
    27  // result=str.search(/abc/g); 5
    28   result=str.search("abc");
    29   console.log(result);
    30   
    31   
    32   /*
    33   match()
    34   可以根据正则表达式,从一个字符串中符号条件的内容提取出来
    35   默认情况下我们的match只会找到第一个符合要求的内容,找到以后就停止检索
    36     我们可以设置正则表达式为全局匹配模式,这样就会匹配到所有的内容
    37   match()会将匹配到内容的封装到一个数组中返回,即使只查询到一个结果
    38   */
    39   result=str.match(/[A-z]/g);// g全局匹配 gi既全局匹配又忽略大小写
    40   
    41   
    42   /*
    43   replace()
    44   可以将字符串中指定的内容替换为新的内容
    45   参数
    46   1.被替换的内容,可以接受一个正则表达式作为参数
    47   2.新的内容
    48   默认只会会替换第一个
    49   */
    50  str="wsaerewq1211da";
    51  result=str.replace(/a/ig,"( ఠൠఠ )ノ");
    52   console.log(result);
    53     </script>
    54     </head>
    55     <body>
    56     </body>
    57 </html>

    正则表达式的语法

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="utf-8">
     5         <title></title>
     6     <script type="text/javascript">
     7     /*
     8     量词
     9     通过量词设置一个内容出现的次数
    10     量词只对它前边的一个内容起作用
    11     {n} 正好出现n次
    12     {m,n} 出现m-n次
    13     {m,} m次以上
    14     + 至少一次,相当于{1,}
    15     * 0个或多个,相当于{0,}
    16     ? 0个或1个,相当于{0,1}
    17     */
    18    var reg=/a{3}/;
    19    reg=/(ab){3}/;
    20    reg=/ab{1,3}c/;
    21    console.log(reg.test("ababab"));
    22    /*
    23    检查一个字符串是否以a开头
    24    ^ 表示开头
    25    $ 表示结尾
    26    */
    27   reg=/^bc/;
    28   console.log(reg.test("bcbc"));//false
    29   reg=/a$/;
    30   console.log("ba");//true 
    31   /*
    32   设置一个合法的手机号
    33   手机号规则
    34   1.以1开头
    35   2.第二位3-9任意数字
    36   3.三位以后任意数字9个
    37   ^1 [3-9] [0-9]{9}$
    38   */
    39  var phone="123245656745";
    40  var phoneReg=/^1[3-9][0-9]{9}$/;
    41  console.log(phoneReg.test(phone));
    42     </script>
    43     </head>
    44     <body>
    45     </body>
    46 </html>

    对于电子邮件的正则表达式

    1 /*
    2     电子邮件
    3     9999 @ 123 .com.cn
    4     任意数字字母下划线.任意数字字母下划线@任意数字字母  .任意字母(2-5位).任意字母(2-5位)
    5     w{3,}         (.w+)*          @  [A-z0-9]+    (.[A-z]{2,5}){1,2}     
    6     */
    7    var email="abc.qwee@163.com";
    8    var emailReg=/^w{3,}(.w+)*@[A-z0-9]+(.[A-z]{2,5}){1,2}$/;
    9    console.log(emailReg.test(email));
  • 相关阅读:
    聚类算法
    shell编程之运算符
    linux shell编程子bash变量
    java SSM框架单元测试最佳实战代码
    在maven项目中使用Junit进行单元测试(一)
    JMeter之Http协议接口性能测试
    TestNG学习笔记新的
    单元测试最佳实战项目代码下载
    单元测试中使用mock最好不要使用easymock而应该使用powermock
    springboot 读写excel
  • 原文地址:https://www.cnblogs.com/zuiaimiusi/p/11228118.html
Copyright © 2011-2022 走看看