一、RegExp
1.1 创建 RegExp 对象
new RegExp("必选,正则表达式","可选,匹配模式g,i,m")
1.2 RegExp 对象的方法
test:检索字符串中的指定值,返回 True 或 False。
exec:检索字符串中的指定值,返回找到的值,没有则 null。
complie:用于改变正则表达式,或增删匹配模式。
1.2.1 test()
var r1 = new RegExp('world');
console.log(r1.test('Hello, world!'));
console.log(r1.test('Hello, World!'));
var r2 = new RegExp('world', 'i');
console.log(r2.test('Hello, World!'));
var r3 = new RegExp(/world/i);
console.log(r3.test('Hello, World!'));
1.2.2 exec()
var r1 = new RegExp('world');
console.log(r1.exec('Hello, world!'));
console.log(r1.exec('Hello, World!'));
var r2 = new RegExp('world', 'i');
console.log(r2.exec('Hello, World!'));
var r3 = new RegExp(/world/i);
console.log(r3.exec('Hello, World!'));
var r4 = new RegExp('o');
console.log(r4.exec('Hello, World!'));
var r5 = new RegExp('o', 'gi');
console.log(r5.exec('Hello, WOrld!'));
console.log(r5.lastIndex);
console.log(r5.exec('Hello, WOrld!'));
console.log(r5.lastIndex);
console.log(r5.exec('Hello, WOrld!'));
console.log(r5.lastIndex);
1.2.3 complie()
var r1 = new RegExp('world');
console.log(r1.exec('Hello, world!'));
r1.compile('o');
console.log(r1.exec('Hello, World!'));
r1.compile('m');
console.log(r1.exec('Hello, World!'));
var r2 = new RegExp('world');
console.log(r2.test('Hello, world!'));
r2.compile('mazey');
console.log(r2.test('Hello, world!'));
二、正则表达式
^$:表示匹配值的开始和结尾。
+:1+,一个或更多。
*:0 / +,零个或更多。
?:0 / 1,零个或一个。
{1,2}:1 <= length <= 2,长度。
():表示一个表达式的组。
[]:匹配的字符范围,我理解为一个块,很多块放在一个组 () 里面。
三、示例
<form action="">
输入:
<input type="text" name="mazey" id="mazey" placeholder="请输入邮箱">
<input type="button" value="验证" onclick="check();">
</form>
<script>
function check(){
var reg = new RegExp("^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$");
var obj = document.getElementById("mazey");
if(obj.value === ""){
alert("输入不能为空!");
return false;
}else if(!reg.test(obj.value)){
alert("验证不通过!");
return false;
}else{
alert("通过!");
return true;
}
}
</script>
附录
阅读原文:blog.mazey.net/589.html