<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
</head>
<body>
<label>QQ:</label>
<input type="text" name="" id="text">
<label>邮箱:</label>
<input type="text" name="" id="email">
<script type="text/javascript">
var reg = /qwe/;
var str = "dfdqwedfdd";
/*
正则表达式:
test()方法
reg.test(str) 如果满足规则,返回true,否则返回false
【1】:转义
<1>:\s 空格
<2>:\S 非空格
<3>:\d 单个所有数字
<4>:\D 非数字
<5>:\w 字符(数字,字母,_)
<6>:\W 非字符
<7>:\b 独立部分 (空格 开始 结束)
<8>:\B 非独立部分
【2】:量词
{1:2} 一个或者两个
+: n >= 1;
比如 /-w+/
{1,}: + : n>= 1
{0,}: * : n>= 0
{0,1}:? : 0<=n<=1
{1,5}: n: 1<= n <=5
【3】:match
str.mathch(reg) :满足匹配规则,把匹配成功的内容放进数组,否则返回Null
【4】:标识
g :全局匹配(从头到尾匹配完)
i:不区分大小写 不带i默认是区分大小写的
比如 var str = "wqwwrqqww";
var reg = /w+/g
var reg = /w+/gi 不区分大小写
【5】:子集 加个括号
var reg = /(qw)+/ 解释:qw这一项出现多次
var reg= /(qw)+(ss)/ 匹配子项1(qw) 匹配子项2(ss)
当有子项,并且没有全局标识的时候,match返回的数组的第二
【6】:字符集[]
[0-9]:从0到9
[1-5]:从1到5
[a-z][A-Z][0-9]
[F-K][f-k]
[qw]q或者w与[q-w]不同 后一个是从q到w
字符集里面的() {} 不算子集,是单纯的没有意义的字符
【7】:其他小知识点综合
. 一个点 任意字符
^ 开始 在字符集[]里面使用是 非
比入var reg= /^q/ 必须以q开头
$ 结束部分
【8】:正则表达式里的特殊字符
// / \ {} [] () . + ? * ^ $
*/
//alert(reg.test(str));
//var reg1 = /\d/;
//alert(str.match(reg1));//null
var email = document.getElementById("email");
/*qq号的规则
只能是数字
长度:5:10
不能以0开头
*/
// qq正则
var regQQ = /^[1-9]\d{4,9}$/;
// 邮箱正则 ^\w 以字符开头
var regEmail = /^\w+@[0-9a-zA-Z]{2,}(\.[a-zA-Z]{2,}){1,2}$/;
// 手机号码正则
var regTel = /^1[34578]\d{9}$/;
// 身份证正则
var regId = /^[1-9]\d{16}[0-9xX]$/;
email.onblur = function(){
var val = this.value;
if(val.length){
if(regEmail.test(val)){
alert("ok");
}else{
alert("您输入的邮箱号不满足要求");
}
}
}
</script>
</body>
</html>
正则表达式学习
最新推荐文章于 2024-08-20 21:55:11 发布