正则表达式

*正则表达式

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

正则表达式定义

  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();

}

}

相关推荐
踏着七彩祥云的小丑3 天前
Go学习第9天:并发编程 + 文件操作 + 正则表达式
学习·golang·正则表达式·go
bosins3 天前
密码复杂度验证正则表达式
正则表达式
小森林之主4 天前
正则表达式零宽断言实战:凌晨3点的服务器报警
python·正则表达式·零宽断言·服务器报警·正则速查
小森林之主4 天前
Python re 模块速查:从实战对比中掌握正则表达式
python·正则表达式·性能测试·re模块·编程实战
程序猿零零漆5 天前
Python进阶之路:正则表达式、高级语法与核心数据结构(链表、二叉树)全解析
数据结构·python·正则表达式
2301_781833526 天前
Python 正则表达式入门教程
开发语言·python·正则表达式
五阿哥永琪7 天前
正则表达式
数据库·mysql·正则表达式
小森林之主7 天前
深入正则表达式:核心语法与实战剖析
javascript·python·正则表达式·编程技巧·字符串处理
小森林之主7 天前
JavaScript 正则表达式:从零开始的实战对比
javascript·正则表达式·前端开发·性能对比·文本处理
不吃土豆的马铃薯7 天前
C++ 正则表达式入门详解
linux·服务器·网络·数据库·c++·正则表达式