今天要接触到的几个转义符如下:
1、首先0-9,a-z,A-z,都要用中括号[],来表示,
var num1=/[0-9]/;
var reg1=00879;
alert(num1.test(reg1));
返回true;因为00879均在0-9的数字范围之内,同理/[a-z]/、/[A-Z]/,如果把它们写在一起的话,就是/[0-9a-zA-Z]/,若不匹配则返回false。
2、[]表示除了括号内的字符,如果/[0-9]/,如果num2.test(reg2);reg2是mmAS,则匹配为true,否则为false。
3、\d表示匹配数字
比如var num3=/\d/;
var reg3=99768;
alert(num3.test(reg3));
返回ture;如果里面是aaz的话则返回false;
4、\D表示匹配非数字
同理里面是数字例如:0012返回false,否则返回true。
5、\w表示匹配数字、字母、下划线
6、\W表示匹配非数字、字母、下划线例如
var num6=/\W/;
var reg6=%;
alert(num6.test(reg6));返回true;%不在数字、字母、下划线的范围之内
7、\s表示匹配空格,例如:
var num7=/\s/;
var reg7=" “;
alert(num7.test(reg7));返回true;
8、\S表示匹配非空格
9、\b表示匹配左右是否有字符
var num9=/\bnn/;
var reg9=” nn";
alert(num9.test(reg9));
返回true;\b在左边,表示左边有字符,若没有则返回false;
10、.表示匹配换行符,如果var reg10="\n";则匹配为true;否则为false;
11、\表示转义符,表示匹配“非”的意思,例如:
var num11=/\0-9a-z/;
var reg11=“SS”;
alert(num11.test(reg11));则返回true;
写一段代码,看一下该如何验证密码是否正确
<form action="firstpage.html">
密码:<input type="text" id="password"/>
<span style="color:red;font-size:10px;display:none;">你的密码中未包含数字、大小写字母以及下划线中的一种或几种</span>
<button type="button">登录</button>
</form>
function login(){
var password1=document.getElementById("password");
var message1=document.getElementByTagsName("span");
var num1=/\w/;
var reg1=password1.value;
if(num1.test(reg1)==1){
return true;
}else{
message1.style.display="block";
}
}
或者可以尝试着这样写:
<form action="firstpage.html">
密码:<input type="text" id="password"/>
<span style="color:red;font-size:10px;></span>
<button type="button">登录</button>
</form>
function login(){
var password1=document.getElementById("password");
var message1=document.getElementByTagsName("span");
var num1=/[0-9a-zA-Z_]/;
var reg1=password1.value;
if(num1.test(reg1)==1){
return true;
}else{
switch(num1.exec(reg1)){
case [a-zA-Z_]:
message1.innerHTML="未包含数字!"
break;
case [0-9A-Z_]:
message1.innerHTML="未包含小写字母!"
break;
case [0-9a-z_]:
message1.innerHTML="未包含大写字母!"
break;
default:
message1.innerHTML="未包含下划线!"
}
}
}