1.定义
由普通字符和特殊字符构成的文字模式,该文字模式是用来检测当前字符串是否符合你的这套文字模式,是一种强大的字符串匹配工具,如输入验证等场景;
2.正则表达式的构成:
a 元字符
i 不区分大小写 g 全局匹配
\w:匹配数字字母下划线;
\W:匹配非数字字母下划线;
\d:匹配数字;
\D:匹配非数字;
\s:匹配空白字符;
\S:匹配非空白字符;
^:匹配字符串开始;
$:匹配字符串的结束;
eg:6-18个字符构成;匹配数字字母下划线,首字母以大写字母开始:
开始就有一个大写字母 所以就要减少一个 5-17个
b.[] 匹配[]中的罗列的单个字符;
[^abc] 匹配除了[]当中罗列的字符以外的单个字符;
(量词)限定符:用来描述字符出现的次数;
?:匹配0个或1个;
+:匹配1个或多个
{n}:匹配n个;
{m,n}:匹配至少m个但是不能超过n个;/\d{6,10}/
{m,}匹配至少m个;
手机号: 以1开始,第二个数字是3.5.7.8中的随意的一个,后面还要匹配9个数字;
邮箱:
string.match(reg):找到一个或多个正则表达式的匹配,返回的是一个集合;
string.replace(reg):替换与正则表达式匹配的子字符串;
var str="傻逼,你好,嘿嘿哒";
var reg=/傻逼|你好|39/g;
var res=str.replace(reg,"***");
console.log(res);
以下为做京东项目的注册页面的正则表达式;
var verification_reg= /^\d{4,6}$/;//验证码为4位或6位都可以;
var pw_reg=/[\s\S]*/;//匹配随意字符
var num_reg=/\d/;//数字
var letter_reg=/[a-z A-Z]/;//字母匹配;命名
var sc_reg=/\W/;//特殊字符;
下面为判断密码强度的js代码;
switch (true) {
case( num_reg.test(cc) && letter_reg.test(cc) && sc_reg.test(cc)): //三个都满足 强度就为最高
$('#security-level').show();
$('#bottom').css({'background': '#cacaca'});
$('#middle').css({'background': '#cacaca'});
$('#hight').css({'background': 'red'});
break;
case(num_reg.test(cc) && letter_reg.test(cc) || num_reg.test(cc) && sc_reg.test(cc) || letter_reg.test(cc) && sc_reg.test(cc)): // 满足其中的两个 强度就为中
$('#security-level').show();
$('#bottom').css({'background': '#cacaca;'});
$('#middle').css({'background': 'red'});
break;
case(num_reg.test(cc) || letter_reg.test(cc) ||sc_reg.test(cc))://只要满足其中一个 就为最低;
$('#security-level').show();
$('#bottom').css({'background': 'red'});
break;
}
}
下面为苏宁注册的复选框的check代码;
var flag2=0;
$('#accpect_items').on('click',function(){// $('#accpect_items')为复选框
var aa=$("#accpect_items").prop("checked");//pop的获取属性 返回的是true或false
if(aa){
$('#pls-accept-items').hide();
flag2=1;
}else{
$('#pls-accept-items').show();
flag2=2;
}
});
});
下面为点击验证码时候,出现倒计时的情况;
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.send-msg{
display:block;
width:450px;
height:160px;
line-height:38px;
text-align:center;
background:#f5f5f5;
font-size:14px;
cursor:pointer;
border:0 none;
margin:30px auto;
outline:0 none;
}
</style>
</head>
<body>
<input class="send-msg" id="send-msg" type="button" value="获取验证码">
</body>
<script src="jquery/jquery.min-v1.js"></script>//引用了jq库;
<script>
var aa;
var count = 30;
var curCount;
$('#send-msg').on('click', function () {
curCount = count;
$("#send-msg").val("请在" + curCount + "秒内输入验证码");
aa = window.setInterval(cc, 1000);
});
function cc() {
if (curCount == 0) {
window.clearInterval(aa);
$("#send-msg").val("重新发送验证码");
}
else {
curCount--;
$("#send-msg").val("请在" + curCount + "秒内输入验证码");
}
}
</script>
</html>
/^[\u4E00-\u9FA5]{2,4}$/ 2-4位的中文字符
else if(!(/^[\u4E00-\u9FA5]+$/).test(this.qq)){
alert('请输入中文');
return;
}