正则表达式

*正则表达式

作用: 验证某一串字符串数据的格式。

正则表达式定义

  1. /pattern/attributes

  2. new RegExp(pattern, attributes);

匹配模式attributes

i 执行对大小写不敏感的匹配。

g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。

m 执行多行匹配。

正则表达式通配符

*【方括号】

方括号用于查找某个范围内的字符:

abc 查找方括号之间的任何字符。

\^abc 查找任何不在方括号之间的字符。

0-9 查找任何从 0 至 9 的数字。

a-z 查找任何从小写 a 到小写 z 的字符。

A-Z 查找任何从大写 A 到大写 Z 的字符。

A-z 查找任何从大写 A 到小写 z 的字符。

adgk 查找给定集合内的任何字符。

\^adgk 查找给定集合外的任何字符。

(red|blue|green) 查找任何指定的选项。

*【元字符】

元字符(Metacharacter)是拥有特殊含义的字符:

. 查找单个字符,除了换行和行结束符。

\w 查找单词字符。

\W 查找非单词字符。

\d 查找数字。

\D 查找非数字字符。

\s 查找空白字符。

\S 查找非空白字符。

\b 匹配单词边界。

\B 匹配非单词边界。

\0 查找 NUL 字符。

\n 查找换行符。

\f 查找换页符。

\r 查找回车符。

\t 查找制表符。

\v 查找垂直制表符。

\xxx 查找以八进制数 xxx 规定的字符。

\xdd 查找以十六进制数 dd 规定的字符。

\uxxxx 查找以十六进制数 xxxx 规定的 Unicode 字符。

*【量词】

n+ 匹配任何包含至少一个 n 的字符串。

n* 匹配任何包含零个或多个 n 的字符串。

n? 匹配任何包含零个或一个 n 的字符串。

n{X} 匹配包含 X 个 n 的序列的字符串。

n{X,Y} 匹配包含 X 至 Y 个 n 的序列的字符串。

n{X,} 匹配包含至少 X 个 n 的序列的字符串。

n$ 匹配任何结尾为 n 的字符串。

^n 匹配任何开头为 n 的字符串。

?=n 匹配任何其后紧接指定字符串 n 的字符串。

?!n 匹配任何其后没有紧接指定字符串 n 的字符串。

1.String验证正则

String支持正则的方法:

search 检索与正则表达式相匹配的值。 1 4

match 找到一个或多个正则表达式的匹配。 1 4

replace 替换与正则表达式匹配的子串。 1 4

split 把字符串分割为字符串数组。

例如:

//1.定义电话号码的正则表达式

let reg = /^13456789\d{9}$/m;

//2.input输入控件value的值是否与正则表达式reg匹配

if(phone.value.match(reg) == null){

msg.innerHTML = "电话号码格式错误!";

msg.style.color = "red";

//在此聚焦在输入框

phone.focus();

}

2.RegExp对象

exec 检索字符串中指定的值。返回找到的值,并确定其位置。 1 4

test 检索字符串中指定的值。返回 true 或 false。

例如:

phone.onblur = function(){

//1.定义正则表达式

var reg = new RegExp(/^13456789\d{9}$/,"m");

if(!reg.test(phone.value)){

msg.innerHTML = "电话号码格式错误!";

msg.style.color = "red";

//在此聚焦在输入框

phone.focus();

}

}

相关推荐
OPEN-F1 天前
Python进阶教程:正则表达式进阶与文本处理
开发语言·python·正则表达式
小小龙学IT4 天前
C++ 正则表达式完全指南:从 std::regex 实战到 RE2 引擎原理(NFA/DFA/回溯陷阱)
c++·正则表达式
傻啦嘿哟4 天前
猫眼电影TOP100爬虫:Requests+正则表达式实战
爬虫·正则表达式
circuitsosk4 天前
AI输出的“质检员”:构建智能体质量评估、异常检测与人工兜底的三层防线
人工智能·python·microsoft·正则表达式·langchain
Livia要学习5 天前
Python正则表达式
正则表达式
wangchen_06 天前
C++正则表达式
开发语言·c++·正则表达式
Patrick在香港8 天前
Python正则表达式实战:解析和验证香港身份证、车牌、电话格式
开发语言·python·正则表达式
吴声子夜歌10 天前
正则指引——Ruby
开发语言·正则表达式·ruby
吴声子夜歌10 天前
正则指引——Golang
开发语言·golang·正则表达式
吴声子夜歌11 天前
正则指引——PHP
开发语言·正则表达式·php