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

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

本篇仅记录正则表达式在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
});
}

【js 正则表达式】记录所有在js中使用正则表达式的情况的更多相关文章

  1. 【java 正则表达式】记录所有在java中使用正则表达式的情况

    本篇记录在java中邂逅正则表达式的所有美丽瞬间.因为在java和js中正则表达式的语法并不一致. 1.匹配字符串中有出现[2.1开头或者&2.1或者&3.1等的] Pattern m ...

  2. UltraEdit中使用正则表达式

    正则表达式 (UltraEdit Syntax): % 匹配行首 - 表明要搜索的字符串一定在行首. $ 匹配行尾 - 表明要搜索的字符串一定在行尾 ? 匹配除换行符外的任一单个字符. * 匹配任意个 ...

  3. JavaScript中的正则表达式详解

    摘要:javascript中的正则表达式作为相当重要的知识,本文将介绍正则表达式的相关知识和用法. 正则表达式(Regular Expression)是一门简单语言的语法规范,是强大.便捷.高效的文本 ...

  4. js中的正则表达式入门

    什么是正则表达式呢? 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个字符串是否含有某种子串.将匹配的子串做替换或者从某个字符串中取出符合某个条件的子串等 ...

  5. JavaScript -- 时光流逝(六):js中的正则表达式 -- RegExp 对象

    JavaScript -- 知识点回顾篇(六):js中的正则表达式 -- RegExp 对象 1. js正则表达式匹配字符之含义      查找以八进制数 规定的字符.     查找以十六进制数 规定 ...

  6. JS中应用正则表达式转换大小写

    JS中应用正则表达式转换大小写,代码很简单,看代码: 以下首字母大写,其它字母小写 <script type="text/javascript"> function r ...

  7. 如何在JS中应用正则表达式

    背景:在之前的随笔中写过C#中如何使用正则表达式,这篇随笔主要讲如何在js中应用正则表达式 如下代码: $("#zhengze").click(function () { var ...

  8. 浅谈js中的正则表达式

    很多时候多会被正则表达式搞的晕头转向,最近抽出时间对正则表达式进行了系统的学习,整理如下: 正则表达式的创建 两种方法,一种是直接写,由包含在斜杠之间的模式组成:另一种是调用RegExp对象的构造函数 ...

  9. js 键盘记录实现(兼容FireFox和IE)(转)

    主要分四个部分 第一部分:浏览器的按键事件 第二部分:兼容浏览器 第三部分:代码实现和优化 第四部分:总结 第一部分:浏览器的按键事件 用js实现键盘记录,要关注浏览器的三种按键事件类型,即keydo ...

  10. D3.js学习记录【转】【新】

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. Drupal7导入语言包

    下载语言包 然后把包存放在profiles\standard\translations目录下,安装. 如果出现如下错误 1.错误有MySql数据库默认引擎innoDB引起,只要mysql\bin\my ...

  2. 【uva11855-求长度为1到n的相同子串出现的次数】sam

    题意:求长度为1到n的相同子串出现的次数,输到小于2为止. 题解: 用sam做. 建机,算right集合,然后用r[i]更新长度为step[i]的子串出现次数,然后ans[i]=maxx(ans[i] ...

  3. 【STSRM13】木之本樱

    [题意]抽象模型后转化为:给定n个直线,ans+=C(x,4)*8,x为每个经过直线数>=4的点的直线数,不存在平行直线. [算法]数学 [题解] 运用了一个很简单的道理:经过同一个点的线段互相 ...

  4. USACO月赛2005 january volume

    2013-09-18 08:12 由题可知,ans=∑i  ∑j(x[i]-x[j]) 最后整理完之后应该是不同系数的X[i]相加,所以这道题就成了求不同x[i]的系数 对于X[i],它需要减前面(i ...

  5. Type of flip id

    http://www.haskell.org/pipermail/beginners/2011-March/006477.html The point is that the type of id h ...

  6. efi转bios详细说明

    前言 制作好的efi格式的ubuntu15.10系统放到服务器主板上启动不了,于是将其改为bios格式,发现问题解决了,成功登入系统.下面是操作过程的一个记录. 测试环境 目标环境 系统: Ubunt ...

  7. nginx、apache、tomcat的区别

    1.Apache Apache支持模块化,性能稳定,Apache本身是静态解析,适合静态HTML.图片等,但可以通过扩展脚本.模块等支持动态页面等. 缺点:配置相对复杂,自身不支持动态页面. 2.To ...

  8. [ Openstack ] Openstack-Mitaka 高可用之 启动一个实例

    目录 Openstack-Mitaka 高可用之 概述    Openstack-Mitaka 高可用之 环境初始化    Openstack-Mitaka 高可用之 Mariadb-Galera集群 ...

  9. docker从零开始 存储(四)tmpfs挂载

    使用tmpfs挂载 volume和bind mounts允许您在主机和容器之间共享文件,以便即使在容器停止后也可以保留数据. 如果你在Linux上运行Docker,你有第三个选择:tmpfs moun ...

  10. node.js的全局变量的注意

    在node.js中,如果一个变量没有用var来声明,就会变为全局变量: 看如下代码: 1)6.js function myadd(a) { return a+abc; } function conta ...