• 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

最新文章

  1. SPSS数据分析—对应分析
  2. Rockey 4加密狗介绍
  3. AJAX-----10iframe模拟ajax文件上传效果原理2
  4. python string.py 源码分析 三:maketrans
  5. Linux下web目录权限设置
  6. unison+inotify实现文件双向自动同步
  7. 【BZOJ】【2565】最长双回文串
  8. Labview中定时函数之间的区别
  9. (转)Jmeter内存溢出处理方式记录
  10. 【Java基础】static关键字相关
  11. 镜像文件、光盘、iso文件、启动盘
  12. unity 使用RotateAround的使用注意
  13. 【RL-TCPnet网络教程】第30章 RL-TCPnet之SNTP网络时间获取
  14. log4cplus 简单记录
  15. 三大统计相关系数:Pearson、Spearman秩相关系数、kendall等级相关系数
  16. python操作Excel-写/改/读
  17. java幂等性的解决方案
  18. VM下如何装虚拟机?
  19. 运行gunicorn失败:[ERROR] Connection in use: ('0.0.0.0', 8000)
  20. 【H5】ie8如何兼容html5标签(hack)

热门文章

  1. 使用 Nocalhost 开发 Rainbond 上的微服务应用
  2. 如何用 UDP 实现可靠传输?
  3. 2021.06.05【NOIP提高B组】模拟 总结
  4. 阿里云FTP服务配置
  5. SQL Server导出MDF数据库文件
  6. JS:自增和自减
  7. 记一次grpc server内存/吞吐量优化
  8. PotPlayer播放百度云盘视频
  9. CSS Houdini:用浏览器引擎实现高级CSS效果
  10. 电子表格分两级:Excel和WPS是一级,未来5年,75%的人将用二级