正则表达式
1.定义:由普通字符和元字符组成的带有特殊含义的字符串–设定某种规则字符串
2.作用:查找、匹配、替换
3.语法格式:
var reg = /regExp/
元字符
1.
{m}
:表示匹配
m
个字符
2.
{m,}
:表示匹配
m
个或以上字符
3.
{m,n}
:表示匹配
m
个到
n
个字符
4.
+
:表示匹配1个或以上字符,等价于
{1,}
5.
*
:表示匹配0个或以上字符,等价于
{0,}
6.
?
:表示匹配0个或1个字符,等价于
{0,1}
范围
1.
[]
:表示匹配
[]
内的任意一个字符 – 没有先后顺序;元字符除
^,-
以外,在
[]
内的其他元字符都使用普通含义
2.
[start-end]
:表示匹配从
start
开始到
end
结束的任意一个字符
[0-9]:表示匹配任意一个数字
[a-z]:表示匹配任意一个小写字母
[A-Z]:表示匹配任意一个大写字母
元字符
1.
^
:用在正则表达式的开头,表示匹配字符串开头(自身之后的第一个字符)
用在
[]
中第一位,表示非
2.
$
:用在正则式的末尾,表示匹配字符串结尾(自身之前的第一个字符)
3.
\d
:匹配任意一个数字,等价于
[0-9]
4.
\D
:匹配任意一个非数字,等价于
[^0-9]
5.
\w
:匹配数字、字母、下划线中的任意一个字符
6.
\W
:匹配任意一个非数字、字母、下划线字符
7.
\b
:匹配单词边界(单词的开头和结尾) – 写在前面就匹配单词开头,写在末尾就匹配单词结尾;适用于在一个长字符串中匹配一个完整的单词开头和结尾
8.
.
:匹配除换行符和行结束符以外的所有任意一个字符
9.
\
:将元字符转义为普通字符
10.
()
:子正则式,表示一个完整的正则表达式
11.
|
:用在
()
中,表示或者
修饰符
1.
i
:不区分大小写
2.
g
:全局匹配
3.
m
:匹配换行
拓展
1.
\n
:用在正则式中,表示匹配第
n
个子正则式的结果
2.
$1-$99
:用在正则替换中(
replace
),表示匹配第
n
个子正则式的结果
2.
str.search(regExp)
:在一个字符串中查找另一个字符串(可以用正则式表示)的位置
3.
str.replace(old,new)
:查找
str
中的字串
old
替换成
new
(替换一个)
4.
str.replaceAll(old,new)
:替换所有
str
中
old
为
new
5.贪婪模式:能匹配的尽量多
非贪婪模式:能匹配的尽量少,在量词的后面加上
?
实例
1.限制input输入框只能输入大小写字母、数字、下划线的正则表达式:
> <a-input type="text" onkeyup="this.value=this.value.replace(/[^\w_]/g,'');">
2.限制input输入框只能输入数字和点的正则表达式:
<input type="text" oninput="value=value.replace(/[^\d.]/g,'')"><br>
3.限制input输入框只能输入中文英文的正则表达式:
<input type="text" oninput="this.value=this.value.replace(/[^\u4e00-\u9fa5^a-zA-Z]/g,'')"><br>