<script language="JavaScript" type="text/javascript">
function $(obj){
return document.getElementById(obj);
}
function checkEmail()
{
var str = $("myText").value;
//如果为空,则通过校验
if(str == ""){
alert("输入为空");
return;
}
if (str.charAt(0) == "." || str.charAt(0) == "@" || str.indexOf('@', 0) == -1||
str.indexOf('.', 0) == -1 || str.lastIndexOf("@") == str.length-1 ||
str.lastIndexOf(".") == str.length-1)
alert("不是一个邮箱");
else
alert("是一个邮箱");
}
</script>
</head>
<body>
<input type="text" id="myText" />
<input type="button" οnclick="checkEmail()" value="验证是否邮箱" />
这个验证比上个完善的好多。但是要明白这些涵义
1.首先是charAt();
String str="lwx";
char ch1=str.charAt(0);
char ch2=str.charAt(1);
这时 ch1是l, ch2是w
String类就是一个字符数组,charAt(i)取第i个位置的字符(i从0开始)
2.indexOf() 如果找到该字符,则为 value 的索引位置;否则如果未找到,则为 -1
indexOf() 方法对大小写敏感!
如果要检索的字符串值没有出现,则该方法返回 -1。
var str="Hello world!"
document.write(str.indexOf("Hello") + "<br />")
document.write(str.indexOf("World") + "<br />")
document.write(str.indexOf("world"))
</script>以上代码的输出:
0 -1 6
IndexOf(String, Int32) | 报告指定字符串在此实例中的第一个匹配项的从零开始的索引。该搜索从指定字符位置开始。 |
则返回-1
4.str.lastIndexOf("@")指的是'@'在str最后一次出现的位置,和indexOf()指的是第一次出现的
位置分别清楚就一目了然了。
5.str.lastIndexOf("@") == str.length-1 指@出现在最后一个字符中