• js 中 正则表达式使用

    • 创建正则对象和test方法使用
      		/*
      创建正则表达式的对象
      语法: var 变量 = new RegExp("正则表达式","匹配模式") 或者 var 变量 = /正则表达式/
      匹配模式: i:忽略大小写 。 g:全局匹配模式
      */
      //var reg = new RegExp("a","i");
      var reg = /a/i;
      var str = "1A2d3f4g6h8"; // 正则表达式的方法: test() : 检查字符串是否符合正则表达式规则,符合返回true,否则返回false
      console.log(reg.test(str)); //输出true
    • 字符串和正则的相关方法
      		// split() 支持正则表达式匹配拆分字符串。该方法默认会走全局匹配。
      var res = str.split(/[A-z]/);
      console.log(res); //输出["1", "2", "3", "4", "6", "8"] // search() 搜索字符串中是否有指定内容,不能全局匹配,只能搜索第一个符合条件的位置
      var str1 = "hello abc hello aec";
      var res2 = str1.search(/a[be]c/);
      console.log(res2); //输出6( 第一个匹配的abc的位置) /*
      match() 根据正则表达式,从一个字符串中将符合条件的内容提取出来。
      match默认只会找到第一个符合要求的内容,需要检索全部需要改为全局匹配模式,且可以设置多个匹配模式
      匹配到的内容封装到数组中保存
      */
      var str2 = "1a2b3c4d5e6f7C";
      var res3 = str2.match(/[A-z]/gi); // gi表示全局匹配且不区分带小写
      console.log(res3); //输出["a", "b", "c", "d", "e", "f", "C"] /*
      replace() 将字符串指定内容替换成新的内容,默认只会替换第一个
      第一个参数表示: 被替换的内容,可以用正则表达式
      第二个参数表示: 新的内容(替换为""的话,就是删除匹配的元素)
      */
      var str3 = "1a2a3a4a5a";
      var res4 = str3.replace("a","@@@");
      var res5 = str3.replace(/a/gi,"@@@");
      var res6 = str3.replace(/a/gi,"");
      console.log(res4); //输出1@@@2a3a4a5a
      console.log(res5); //输出1@@@2@@@3@@@4@@@5@@@
      console.log(res6); //12345
    • 正则语法记录
      • {n} 表示出现n次;{m,n} 出现m-n次;{m,} m次以上;表示至少一次
      • *表示0个或多个;?表示0个或1个
      • ^表示开头;$表示结尾
      • .表示任意字符
      • \表示转义字符;比如查询是否含有. 则写为 /\./
      • 构造函数定义正则使用转义字符\ 需要注意:var reg = new RegExp("\\.","i"); 等价于 var reg = /\./;
      • 其他语法不多讲,有需要可以去翻手册
    • 小练习:检测手机号码合法性
      		/*
      检查手机号是否合法:1开头,第二位3-9任意数,三位之后任意数9个
      */
      var phone = "13583404829";
      var reg2 = /^1[3-9][0-9]{9}$/;
      console.log(reg2.test(phone)); //输出true

JavaScript基础回顾知识点记录4-正则表达式篇(介绍基本使用)的更多相关文章

  1. JavaScript基础回顾知识点记录6-操作元素样式和事件对象(介绍基本使用)

    js 中 操作元素样式 通过js修改元素内联样式(设置和读取的都是内联样式) 获取当前元素显示的样式 <html> <head> <meta charset=" ...

  2. JavaScript基础回顾知识点记录2

    js 使用嵌套for循环输出三角形 for(var i=0; i<5; i++){ //正三角 // for(var j=0; j<i+1; j++){ // document.write ...

  3. JavaScript基础回顾知识点记录3

    js 中 垃圾回收 //将不在使用的对象设置为null , js就会自动进行垃圾回收机制 var obj = {}; obj = null; js 中 数组基本介绍 数组也是一个对象 与普通对象功能类 ...

  4. JavaScript基础回顾知识点记录1

    js执行顺序为从上往下执行 js中有6种数据类型 基本数据类型为: String Number Boolean Null Undefined 引用数据类型为: Object 使用typeof 查看对象 ...

  5. Javascript基础回顾 之(三) 面向对象

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  6. Javascript基础回顾 之(二) 作用域

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  7. Javascript基础回顾 之(一) 类型

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  8. JavaScript 基础回顾——对象

    JavaScript是基于对象的解释性语言,全部数据都是对象.在 JavaScript 中并没有 class 的概念,但是可以通过对象和类的模拟来实现面向对象编程. 1.对象 在JavaScript中 ...

  9. JavaScript基础插曲—元素样式,正则表达式,全局模式,提取数组

    JavaScript基础学习 学习js的基础很重要,可以让自己有更多的技能.我相信这个以后就会用到. Eg:点击选择框,在div中显示出选择的数量 window.onload = function() ...

随机推荐

  1. AT32F415 修改时钟和晶振方法(原创)

    1. 简介 我们几乎是国内第一批使用AT32F415芯片的客户,那个时候芯片还没涨价,岁月一切静好.使用AT32F415 做了几个小产品,也在持续出货.后来大家都知道,涨价缺货愈演愈烈.好在我们提前囤 ...

  2. iNeuOS工业互联网操作系统,在线报表(Excel)开发工具

    目       录 1.      概述... 2 2.      视频介绍... 2 3.      应用过程... 2 1.   概述 iNeuOS工业互联网操作系统在线报表(Excel)工具的开 ...

  3. 【Java面试】数据库连接池有什么用?它有哪些关键参数?

    一个工作5年的粉丝找到我,他说参加美团面试,遇到一个基础题没回答上来. 这个问题是:"数据库连接池有什么用?以及它有哪些关键参数"? 我说,这个问题都不知道,那你项目里面的连接池配 ...

  4. 软件项目管理 7.5.项目进度模型(SPSP)

    [公众号@ "项目管理研究所" 将会第一时间更新文章并分享<行业分析报告>] 归档于软件项目管理初级学习路线 第七章 软件项目进度计划 你猜猜里面是什么-->&l ...

  5. zabbix监控mysql主从同步

    获取主从复制sql线程和I/O线程状态是否为yes #!/bin/bash HOSTNAME="数据库IP" PORT="端口" USERNAME=" ...

  6. linux配置svn

    1.安装 yum install subversion 2.测试安装是否成功: svnserve --version 3.创建目录并配置 建立版本库目录 mkdir -pv /data/svn/svn ...

  7. NC15979 小q的数列

    NC15979 小q的数列 题目 题目描述 小q最近迷上了各种好玩的数列,这天,他发现了一个有趣的数列,其递推公式如下: \[f[i] = \left\{ \begin{array}{l} 0 ,&a ...

  8. 广东省30m二级分类土地利用数据(矢量)

    数据下载链接:百度云下载链接​ 广东省,地处中国大陆最南部,属于东亚季风区,从北向南分别为中亚热带.南亚热带和热带气候,是中国光.热和水资源最丰富的地区之一.主要河系为珠江的西江.东江.北江和三角洲水 ...

  9. Java之取余操作 "%"

    取模运算与取余运算两个概念有重叠的部分但又不完全一致.主要的区别在于对负整数进行除法运算时操作不同. 对于整形数a,b来说,取模运算或者求余运算的方法都是: 1.求 整数商 c = a / b: 2. ...

  10. HashMap设计原理与实现(下篇)200行带你写自己的HashMap!!!

    HashMap设计原理与实现(下篇)200行带你写自己的HashMap!!! 我们在上篇文章哈希表的设计原理当中已经大体说明了哈希表的实现原理,在这篇文章当中我们将自己动手实现我们自己的HashMap ...