zoukankan      html  css  js  c++  java
  • js之正则

    1、正则的声明方法

      1)var reg = /abc/; "这个叫对象直接量方式";
      2)var reg = new RegExp("abc") 这个叫构造函数方式;

    2、正则方法

    1)exec() 方法用于检索字符串中的正则表达式的匹配。 返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
      返回的数组中 第0个元素为 0 匹配到的文本
      第1个元素为 index 匹配到的文本出现的位置
      第2个元素为 input 被匹配的字符串
      第3个元素为 length 匹配到的文本的个数

      使用while可以匹配多次
      while (result = reg.exec(str)) {
        console.log(result)
      }
    2)test 方法用于检测一个字符串是否匹配某个模式.
      reg.test(str) //返回true或者false

    5、可以用于正则的string方法

    1)match()

      将字符串中匹配的内容捕获出来
      若加上量词g则一次性捕获所有匹配的内容放到数组里返回,若不加则与exec()的返回值一样
      用法:string.match(regexp)

      match 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。 将字符串中匹配的内容捕获出来
      var reg = /abc/g;
      var str = "11abc00abc"
      console.log(str.match(reg));//返回一个数组

      注:如果没有g(不是全局匹配) 则与exec类似
      如果有g(全局匹配) 找到匹配的所有文本返回一个数组

    2)replace 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
      str.replace(reg,"44")
      返回值是一个被替换过的新的字符串,不改边原来字符串

    3)search() 返回值是相匹配的子串的起始位置。 方法不执行全局匹配,它将忽略标志 g。
      var str="Visit W3School!"
      document.write(str.search(/W3School/)) // 6

    4)split() 字符串的分割 ,返回一个数组。正则可以匹配它的分割方式

    附:



    一、用户名正则

    //用户名正则,4到16位(字母,数字,下划线,减号)
    var uPattern = /^[a-zA-Z0-9_-]{4,16}$/;

    二、密码强度
    //密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符
    var pPattern = /^.*(?=.{6,})(?=.*d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;
    //输出 true
    console.log("=="+pPattern.test("iFat3#"));

    三、身份证号(18位)正则
    //412724 1991 1014 1575
    var cP = /^[1-9]d{5}(18|19|([23]d))d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)d{3}[0-9Xx]$/;

    四、手机号

    var TEL_REGEXP = /^1([38]d|5[0-35-9]|7[3678])d{8}$/;

      var myreg=/^[1][3,4,5,7,8][0-9]{9}$/;
  • 相关阅读:
    【C++标准库】C++11新特性
    使用线程池
    Halcon相机硬触发采集图片
    C#之线程同步
    多线程之异常处理
    java基础 Arrays
    java基础 static关键字
    java基础 String
    c# 更新web.config
    java 基础
  • 原文地址:https://www.cnblogs.com/zjz666/p/11429894.html
Copyright © 2011-2022 走看看