email输入的判断(2)
随随便便在找一个地儿,设置它的标签为 validate ,不要告诉我你不会。下面就在这帧上面写上脚本,看仔细了哦:
count=0;
//初始化变量count=0
Err=0;
//初始化错误信息err=0
invChars = new Array(" ", "#", "$", "%", "!", "^", "~", "'", "*", "(", ")", ",", "<", ">", "/", "\\");
//把要检测的特殊字符存入数组
for (i=0; i<invChars.length; i++) {
//从头开始遍历整个数组
if (email.indexOf(invChars[i])>=0) {
//如果email当中提取出来的字符含有invchars数组当中的任何一个
Err = 1;
//则err=1 错误信息被赋值成为1,用于显示下面的错误信息
}
}
if (Err == 0) {
//经过了上面,如果err==0 也就是说,不含有特殊字符的话,开始下面的判断
for (i=0; i<email.length; i++) {
//从左到右,遍历数组
if (email.charAt(i) == "@") {
//看看是否能提取出来 @
count = count+1;
//循环判断变量+1
}
}
if (count != 1) {
//如果count不等于1,也就是说0,或者大于1的话,就是没有或者有1个以上的@的话
Err = 2;
//错误信息被赋值成为2,也是用于显示错误信息的
}
}
if (Err == 0) {
//如果err=0
splitEmail = email.split("@");
//从@ 开始,把email 分成两部分
emailName = splitEmail[0];
//emailname是前半部分
emailDom = splitEmail[1];
//emaildown 是后半部分
if (emailName.length<1) {
//如果@前面的字符长度小于1,也就是说没有字符的话
Err = 3;
//err=3
}
if (emailDom.indexOf(".")<0) {
//如果后面的部分不含有 .
Err = 4;
//则 err=4
} else {
splitDom = emailDom.split(".");
//从. 开始,把后面的部分分开成2部分
if (splitDom[0].length<2) {
//如果.前面的长度小于2
Err = 5;
//err=5
}
if (splitDom[1].length<2) {
//如果.后面的长度小于2
Err = 6;
//err=6
}
}
}
ErrMess = ["Passed", "Invalid character found.", "Problem with the @ symbol.", "Problem with the email name.", "Missing the dot for the domain name.", "Problem with the domain name.", "Problem with the domain name extension (.com)."];
把错误信息存入errmess数组,用于下面的调用
valid = ErrMess[Err]; 显示错误信息
就这样,一个很简单的email输入判断就做好了,一点一点都不难 ,真的!!! 如果你看不懂上面的代码,看了后面的注释,应该明白了吧
这些东西要是你看不懂的话,我只能这么跟你说,你一点面向对象的编程基础也没有,建议你去学了c,c++ ,或者javascript 再来把。
|