1、模式匹配 表单验证
2、文本检索 搜索
3、替换 过滤
简单,方便,性能高
var reg=new RegExp('规则','模式') 通过构造函数创造
var reg=/规则/模式 通过字面量创建
i 忽略大小写
g 全局
m 多行
注:不分前后顺序
str.match(正则) 返回数组 没有返回 null
str.search(正则) 返回下标 没有返回-1
str.replace(正则,替换成谁) 返回替换后的字符串
str.replace(正则,function(s){
s 符合正则条件的字符串
})
\d 数字 /[0-9]/
\s 空格
\w /[0-9a-zA-Z_]/ 单词
\D 非数字 /[^0-9]/
\S 非空白
\W 非单词 /[^0-9a-zA-Z_]/
.(点) 代表任意
\. 代表.
\\ 代表\
\\\\ 代表\\
\/ 代表/
只要有特殊意义的都要转译
+ {1,m} 若干个 最少1个最多不限
? {0,1} 可有可无
* {0,m} 可以没有,多了不限
{n} 正好n个
{n,m} 最少n个 最多m个
{n,} 最少n个,最多不限
{,m} × 没有这种写法
^ 行首
注:如果^单独使用,代表字符串行首,配合m使用会识别段落
$ 行尾
[] 中括号
1、[]里面的东西都是或的形式
2、[]里面和放范围
3、[^] 不代表行首,代表除去里面的范围
4、其他特殊符号代表本身
1、test() 一般配合^ &
功能:用于检测是否于正则匹配。
返回:布尔值,true匹配,false不匹配
语法:reg.test(检测的内容)
2 exec()
功能:用于检测是否于正则匹配。
返回:数组, 不匹配返回null
语法:reg.test(检测的内容)
再做验证之前:验证分两种,一种强校验,一种弱校验
(1)验证手机号 /1[23457]\d{9}/
(2)验证座机号 区号-座机号 /(0[1-9]\d-)?[1-9]\d{7}/
(3)验证qq /[1-9]\d{4,11}/
(4)实现一个trim函数 去掉收尾空格 /^\s+|\s+$/g
(5)中文 /[\u4e00-\u9fa5]/
(6)验证年龄 18-100 /^1[89]|[2-9]\d|100$/
(7)邮箱: asdsad@163.com /^\w{5,12}@[a-z0-9]{2,8}\.com$/
(8) 过滤html /<[^>]+>/g
1、分组 ab+ abbbb (ab)+
2、匹配子级
配合replace使用 str.replace(reg,function(s,a,b){
s是 整体
a是第一个括号的项
b是第二个括号的项
})
3、优选级 ^(1[89]|[2-9]\d|100)$
4、重复的子项
abbb /(a)(b)\2+/
今天先给大家总结到这儿,后续还会有补充
手机号的正则表达式为“^1(3|4|5|7|8)\d{9}$”,解释如下
“^1”表示以1开头,“(3|4|5|7|8)”表示第二位可能是3/4/5/7/8等的任意一个,在加上后面的\d表示数字[0-9]的9位,总共加起来11位结束。
代码如下:
function checkPhone(){
var phone = document.getElementById('phone').value
if(!(/^1(3|4|5|7|8)\d{9}$/.test(phone))){
alert("手机号码有误,请重新输入")
return false
}
}
js正则表达式常用元素符如下:
扩展资料:
正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。
参考资料:
官网正则表达式API-Creating a regular expression
菜鸟教程-JavaScript 正则表达式