博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
正则:个人使用和踩坑收集
阅读量:6092 次
发布时间:2019-06-20

本文共 951 字,大约阅读时间需要 3 分钟。

具体使用场景

1 以任意长度分割字符创

var arr = str.split(/\s+/)

2 将三列的表格数据转换成相应的表格html字符串

(前提将表格字符串通过word转成‘xx xxx xx;xxx xx xx;xx xx xx;’的格式)

var arr = str.split(";");var text = "";for (var x in arr) {  var arr2 = arr[x].split(/\s+/);  var str2 =    "" +    arr2[0] +    "" +    arr2[1] +    "" +    arr2[2] +    "";  text += str2;}

表格例子:

clipboard.png

3 金额

reg = /^([1-9]\d*)(\.\d*)?$/;

4 禁止输入emoji表情

let reg = /[^\u0020-\u007E\u00A0-\u00BE\u2E80-\uA4CF\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFFEF\u0080-\u009F\u2000-\u201f\u2026\u2022\u20ac\r\n]/g;            if (text.match(reg)) {                text = text.replace(reg, '');            }

5 身份证号码

/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;

6 匹配2-6个中文

/^[\u4E00-\u9FA5]{2,6}$/;

7 不以某个字符串开头的表示(例如 不以typedef 开头)

/^(?!typedef)/

使用技巧

1 exec和match的区别

  • exec每次执行的开始匹配的index都会改变,match每次都是0
  • exec 是正则表达式的方法,match是字符串的方法

2 match 某个str的时候返回值里面带有匹配到的分组,但是如果reg是全局模式,那么就不会返回匹配到的分组。

3 . 和.?的区别 一个是贪婪和非贪婪匹配的问题
需要了解两者的区别可以看

持续更新 TBC...

欢迎补充 欢迎建议 欢迎纠正

转载地址:http://zimwa.baihongyu.com/

你可能感兴趣的文章
Redis学习记录初篇
查看>>
爬虫案例若干-爬取CSDN博文,糗事百科段子以及淘宝的图片
查看>>
Web实时通信技术
查看>>
第三章 计算机及服务器硬件组成结合企业运维场景 总结
查看>>
IntelliJ IDEA解决Tomcal启动报错
查看>>
默认虚拟主机设置
查看>>
php中的短标签 太坑人了
查看>>
[译] 可维护的 ETL:使管道更容易支持和扩展的技巧
查看>>
### 继承 ###
查看>>
数组扩展方法之求和
查看>>
astah-professional-7_2_0安装
查看>>
函数是对象-有属性有方法
查看>>
uva 10107 - What is the Median?
查看>>
Linux下基本栈溢出攻击【转】
查看>>
c# 连等算式都在做什么
查看>>
使用c:forEach 控制5个换行
查看>>
java web轻量级开发面试教程摘录,java web面试技巧汇总,如何准备Spring MVC方面的面试...
查看>>
使用ansible工具部署ceph
查看>>
linux系列博文---->深入理解linux启动运行原理(一)
查看>>
Android反编译(一) 之反编译JAVA源码
查看>>