正则表达式

*正则表达式

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

正则表达式定义

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

}

}

相关推荐
冰暮流星5 天前
javascript之正则表达式声明
正则表达式
Oo大司命oO5 天前
藏在正则表达式里的陷阱
数据库·mysql·正则表达式
酷可达拉斯6 天前
Linux操作系统-shell编程之Grep与正则表达式
linux·运维·服务器·正则表达式·centos
互联网中的一颗神经元10 天前
小白python入门 - 23. Python 正则表达式的应用
python·正则表达式
2501_9364156910 天前
API-正则表达式&时间&包装类
正则表达式
鹤卿12313 天前
谓词与正则表达式(OC)
ios·正则表达式·objective-c·xcode
饼干哥哥17 天前
10.5% 深层转化、90%+ 新用户,ChatGPT Ads 值得吗?
算法·正则表达式·编程语言
饼干哥哥18 天前
Seedance TK视频「真人感」问题的 9 个解法
正则表达式·代码规范·设计
逝水无殇19 天前
C# 正则表达式详解
开发语言·后端·正则表达式·c#
木木子2223 天前
# 密码强度检测深度解析:正则表达式实时分析、多维度评分算法与可视化反馈
mysql·算法·华为·正则表达式·harmonyos