/*
* 元字符:
* . 表示的是:除了\n以外的任意的一个字符
*
* [] 表示的是范围, [0-9]表示的是0到9之间的任意一个数字 [a-z]表示的是:所有小写字母中的任意一个 [0-9a-zA-Z]表示的是所有的数字或者字母中的一个
*
* [] 另一个含义:把正则表达式中元字符的意义去掉,显示本来的意思 [.]就表示一个.
*
* | 或者 [0-9]|[a-z]表示的是要么是一个数字,要么是一个小写字母
*
* () 分组 或 提升优先级 (()(())) 数左边的半括号有4个,所以分了4组,从最左边开始算起(不是和数学一样从最内层括号算起)
*
*
* 限定符:也是元字符,但是限定前面表达式出现的次数的
* * 表示:前面的表达式出现了0次到多次
* + 表示: 前面的表达式出现了1次到多次
* ? 表示:前面的表达式出现了0次或1次 另一个含义:阻止贪婪模式---匹配到一次就结束
*
* {} 表示:前面的表达式出现的次数
* {0,} 和*一样 表示前面的表达式出现了0次到多次
* {1,} 和+一样 表示前面的表达式出现了1次到多次
* {0,1} 和?一样 表示前面的表达式出现了0次或1次
* {4,10} 表示前面的表达式出现了4到10次
* {5} 表示前面的表达式出现了5次
*
*
* ^ 表示以开始,或者是取非(取反) ^[0-9] 以数字开始 ^[a-z] 以小写字母开始 [^0-9a-zA-Z] 任意一个非数字或字母的字符
*
* $ 表示以什么结束 [0-9][a-z]$ 必须以小写字母结束
*
* \d 数字中的一个
* \D 非数字中的一个
*
* \s 空白符中的一个
* \S 非空白符
*
* \w 非特殊符号
* \W 特殊符号
*
* \b 单词的边界
*
* \ 转义
*
* g 全局匹配
*
* i 忽略大小写
* */
身份证的正则表达式
/ ^([1-9][0-9]{14})([0-9]{2}[0-9xX])?$/
邮箱
[0-9a-zA-Z_.-]+[@][0-9a-zA-Z_.-]+([.][0-9a_zA-Z]+){1,2}
请您输入邮箱地址:<input type="text" value="" id="email">
<script>
//如果输入的是邮箱,输入框背景为绿色,如果不是邮箱,则为红色
//获取文本框,注册失去焦点事件
document.getElementById("email").onblur = function () {
var reg = /^[0-9a-zA-Z_.-]+[@][0-9a-zA-Z_.-]+([.][a-zA-Z]+){1,2}$/;
//判断输入的是不是邮箱
if(reg.test(this.value)){
this.style.backgroundColor = "green";
}else {
this.style.backgroundColor = "red";
}
}
</script>
正则表达式对象
判断正则表达式是否匹配字符串:
正则表达式.test(字符串)
var reg = /^([1-9][0-9]{14})([0-9]{2}[0-9xX])?$/;
var card = prompt("请输入您的身份证号:");
if(reg.test(card)){
alert("输入正确");
}else {
alert("输入错误");
}
密码强度等级验证
#qiangDuTiao{
margin-top: 10px;
}
.hide0{