zoukankan      html  css  js  c++  java
  • 【js 正则表达式】记录所有在js中使用正则表达式的情况

    说实话,对正则表达式有些许的畏惧感,之前的每次只要碰到需要正则表达式去匹配的情况,都会刻意的躲过或者直接从度娘处获取。

    此时此刻,感觉到了某一个特定的点去触及她。但笔者对于正则表达式使用上的理解是这样的,仅仅对她的发展历史和使用语法粗略的过了一遍,接下来就是一次一次的使用和记录下和她的每次邂逅。慢慢的,就能在心里勾勒出她最美的一面。

    本篇仅记录正则表达式在js中的邂逅经历,如有读者想在其中窥探她的某种语法,直接搜索你想要实现的功能即可,例如【特定字符 多次匹配】之类的即可。

    1.特定字符 全部匹配

      需求:有下面这个字符串【"condition=userName=&age1=2017-06-07&age2=2017-06-14&height1=&height2=&weights1=&weights2=&uaValue1=&uaValue2=&uaphValue1=&uaphValue2="】,需要将字符串中【&】字符全部替换成【;】字符。

      实现:  

    "condition=userName=&age1=2017-06-07&age2=2017-06-14&height1=&height2=&weights1=&weights2=&uaValue1=&uaValue2=&uaphValue1=&uaphValue2=".replace(/&/g,";");

      结果:

    "condition=userName=;age1=2017-06-07;age2=2017-06-14;height1=;height2=;weights1=;weights2=;uaValue1=;uaValue2=;uaphValue1=;uaphValue2="

      说明:replace(正则,要替换为的字符串)

         /正则/ ,前后两个斜杠代表js中正则表达式的前后边界

         /&/,匹配单个字符&,如果直接使用在上面的情景,仅能替换 原始字符串中的第一个&符号为;,后面的&都不会变化

         /&/g,可以匹配上原始字符串中所有的&

    2.以匹配10-30位长度的纯数字子字符串为例

    js正则表达式[RegExp]使用指南:http://www.runoob.com/js/js-regexp.html

    注意:正则表达式的书写格式 是 /RegExp/参数 ,不用使用双引号括起来

    //查找10-30位 纯数字出现的位置[效果:返回的是子字符串的起始位置]
    "http://www.baidu.com/sc=1919191921&09923893909912".search(/d{10,30}/ig)
    str.search(RegExp)
    //替换10-30位 纯数字为>>> [效果:是全局满足条件的子字符串都会进行替换]
    "http://www.baidu.com/sc=1919191921&09923893909912".replace(/d{10,30}/ig,">>>")
    str.replace(RegExp)
    //验证字符串中是否有符合正则表达式的子字符串存在[效果:存在10-30长度的纯数字,返回true]
    /d{10,30}/ig.test("http://www.baidu.com/sc=1919191921&09923893909912")
    RegExp.test(str)
    //返回第一个匹配上10-30长度的纯数字的子字符串[效果:返回是数组,是满足条件的子字符串和index的对象数组]
    /d{10,30}/ig.exec("http://www.baidu.com/sc=1919191921&09923893909912")
    RegExp.exec(str)
    //返回所有匹配上 10-30长度的纯数字的字符串[效果:返回是数组,是满足条件的子字符串的字符串数组]
    "http://www.baidu.com/sc=1919191921&09923893909912".match(/d{10,30}/ig)
    str.match(RegExp)

    3.js正则判断手机号

         if (/^1(3|4|5|6|7|8|9)d{9}$/.test(mobile)){
              正确手机号!!
          }else{
            wx.showToast({
              title: '请输入正确手机号',
              icon: 'none',
              image: '../../imgs/error.png',
              duration: 2000
            });
          }
  • 相关阅读:
    python判断语句和循环语句
    Web项目如何做单元测试
    PHP接口自动化测试框架实现
    引入缺陷的原因都有哪些?
    测试基础:(一)
    测试基础(二)
    测试术语2
    测试术语3
    测试术语4
    Spring Cloud Stream与Spring Cloud Bus区别?
  • 原文地址:https://www.cnblogs.com/sxdcgaq8080/p/7058784.html
Copyright © 2011-2022 走看看