天天看点

js常用正则记录

1.正则// 或 RegExp

(1)str.match(/查找匹配的字符串/gi)—匹配值数组

元字符:

(1).表示匹配任意字符单个字符

js常用正则记录

(2)\w 匹配任意字母、数字、下划线

\W 匹配非字母、非数字、非下划线

(3)\d 数字

\D 非数字

(4) \s 空白

\S 非空白

(5) \b 匹配单词边界

\B 非单词边界

js常用正则记录

方括号:

(1)[^abc]–排除啊a、b、c

修饰符

i大小写

g 全局匹配

m 执行多行识别匹配(\n\t换行)

js常用正则记录

捕获和反向引用

js常用正则记录

(?:正则)此小括号禁止引用,下标跳过,加入全局g,则不输出自表达式

js常用正则记录

匹配中文

(1)js

[\u4E00-\u9FA5]

js常用正则记录

(2)php

js常用正则记录

环视

(1) /a(?=b)/g 查找紧跟b的a

js常用正则记录

(2)/a(?!b)/g 查找后面不能紧跟b的a

限定:

(3)/(?!b)[a-z]/排除(?!b)匹配[-za-z]

js常用正则记录
js常用正则记录

正则的属性和方法

(1)test 检索是否存在匹配

js常用正则记录

(2)exec,只匹一次检索值返回值和位置的数组,lastIndex到下一次匹配位置

js常用正则记录

search

str.search(RegExp/g)//–返回定义一个匹配值下标,无则返回-1

match

str.match(RegExp/g)//–匹配值数组

split正则分割

js常用正则记录

replace

str.replace(RegExp,替换的新内容)

js常用正则记录

处理结巴程序

js常用正则记录

常用正则判断

var regBox = {

regEmail: /^([a-z0-9_.-]+)@([\da-z.-]+).([a-z.]{2,6})KaTeX parse error: Undefined control sequence: \d at position 33: …e: /^1[3456789]\̲d̲{9}/, //手机

regTel: /^\d{3,4}-\d{7,8}KaTeX parse error: Undefined control sequence: \d at position 29: …Idcard: /^[1-9]\̲d̲{5}(18|19|([23]…/, //18位身份证验证

repostInt: /^\d+ / , / / 正 整 数 + 0 r e p p o s t I n t : / [ 0 − 9 ] ∗ [ 1 − 9 ] [ 0 − 9 ] ∗ /, //正整数+0 reppostInt: /^[0-9]*[1-9][0-9]* /,//正整数+0reppostInt:/[0−9]∗[1−9][0−9]∗/, //正整数

redata: /^([1-9]{1}\d{0,3})(-|/)((1[0-2])|(0[1-9]))(-|/)((0[1-9])|([1-2]\d{1})|(3[0-1]))KaTeX parse error: Undefined control sequence: \d at position 62: …([1-2][0-4])|(0\̲d̲))(:)([0-5]\d)\…/, //时间校验正则 HH:mm:ss

reDTime: /^(\d{1,4})(-|/)(\d{1,2})\2(\d{1,2}) (\d{1,2})😦\d{1,2})😦\d{1,2})KaTeX parse error: Undefined control sequence: \d at position 14: /, remun: /^\̲d̲{11}/

}

regBox.remun.test(str);

例子:

export function parseJson(jsonObj,oldStr,newStr) {

// 循环所有键

for (var v in jsonObj) {

var element = jsonObj[v];

// 1.判断是对象或者数组

if (typeof element == “object”) {

parseJson(element, oldStr, newStr);

} else if(typeof element == “string”) {

if (element.includes(oldStr)) {

const key = new RegExp(oldStr, “g”);

jsonObj[v] = element.replace(key, newStr);

}

}

}

}