一、 正则表达式(regular expression)是一个描述字符规则的对象。如:只能出现字母,只能出现数字,前三个必须是数字等。
-
构造方法
var reg=new RegExp(“a”,“i”);
console.log(reg.test(“1”))
字面量
var reg=/a/;
-
正则中的特殊符号
^:正则开始
$:正则结束
. : 元字符, 表示任意一个字符
. : 表示转义字符 .表示.
+: 表示其前面紧挨着的字符至少出现1次 等价{1,}
* :表示其前面出现的字符至少出现过0次 等价{0,}
?: 表示其前面出现的字符至少出现过0次,至多1次 等价{0,1}
| : 表示或者
组合字符:
\d : 0-9之间的任意一个数字 \d只占一个位置
\D : 除了\d
\w : 数字,字母 ,下划线 0-9 a-z A-Z _
\W : 除了\w
\s : 空格或者空白等
\S : 除了\s括号: {m,n}表示括号前面紧挨着的字符至少出现m个,至多出现n个 : 以b开头 至少3个a 至多5个a /^ba{3,5}&/
{m}表示括号前面紧挨着的字符只能出现m个
{m,}表示括号前面紧挨着的字符至少出现m个
[] 表示括号内的任意一个字符
[wd3h]
[a-z]表示任意一个小写字母 [a-zA-Z0-9]
[^ ]表示非括号内的任意一个字符
()一般与或连用 表示优先级
[\u4e00-\u9fa5] 任意一个中文字符
二、密码强弱
//至少包含
var regNum = /\d+/;
var regLetter = /[a-zA-Z]+/;
var regChar = /[!@#$]+/;
//只能包含
var _regNum = /^\d+$/;
var _regLetter = /^[a-zA-Z]+$/;
var _regChar = /^[!@#$]+$/;
var oInput = document.querySelector("input");
var oBtn = document.querySelector("button");
oBtn.onclick = function() {
if (regNum.test(oInput.value) && regLetter.test(oInput.value) && regChar.test(oInput.value)) {
console.log("强");
} else if (_regNum.test(oInput.value) || _regLetter.test(oInput.value) || _regChar.test(oInput.value)) {
console.log("弱");
} else {
console.log("中");
}
}
二、表单验证
method:数据提交的方式,默认就是get
get:五菱宏光,效率高,安全性低
post:运钞车,效率低,安全性高
失去焦点
onblur 失去焦点
onfocus 聚焦
submit 表单提交
三、正则中的api
1.test:判断字符串是否满足正则表达式
返回值:布尔值
2. exec :功能:将目标字符串复合正则对象的子串返回,存储到一个长度为1的数组中
3. 返回值:返回满足正则对象格式的子串,存储在长度为1的数组中
注意:g 表示全局
i 表示大小写通用
4. search 回与正则表达式查找内容匹配的第一个子字符串的位置 用法:str.search(reg)
5.match 使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回。
6. replace 返回根据正则表达式进行文字替换后的字符串的复制。