客户端验证优点:
•当用户输入错误数据时,页面不需要重新加载,可以保持用户输入的数据状态,所以不要再一次输入所有数据,只输入错误数据即可。
•减轻了服务器端通信压力
•使得用户界面响应更加迅速
缺点:
•JavaScript不能作为唯一的验证方法(JavaScript可能不可用,甚至可能被故意关闭以阻止进行验证)。
•这可能会产生这样一个错觉,验证输入数据是非常简单的过程。其实不是这样,而且它对产品的安全性和可用性都是非常关键的。
字符串常用方法:
•charAt(n) :返回字符串中第n个位置的字符,从0开始。
•charCodeAt(n) :返回字符串中第n个位置字符的ASCII值,第一个位置为0。
•indexOf(search) :返回search在主字符串中的位置,如果没有则返回-1。
•lastIndexOf(search) :返回search在主字符串中的最后位置,没有则返回-1。
•slice(start, end) :返回start和end之间的字符串,如果没有提供end则返回从start开始所有的字符串。
•split(search) :将字符串分割成数组,数组元素为search周围的字符串,search本身不包含在数组中。
•substr(start, n) :将从start开始的n个字符作为字符串返回。
•substring(start, end) :返回start和end之间的字符串。
数字验证:
•Number() :将括号内的值转换为数字。
•isNaN(n) :检验n是否为数字(整数或者浮点型)。
•parseInt() :将字符串转换为整数(只转换从左侧第一位开始的数字值,非数字值不做转换,若第一位既为非数字值,返回NaN)。
•parsetFloat() :将字符串转换为浮点数(转换方式与parseInt类似)。
练习:使用字符串常用方法验证一个字符串是否为邮件格式。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
function check(){
var mail=document.getElementById('email').value;
if(mail == '' || mail == null){
alert('不能为空');
return false;
}
if(mail.indexOf('@') != -1 && mail.substr(0,1) == '@' || mail.indexOf('@') != mail.lastIndexOf('@')){
alert('@不对');
return false;
}
if(mail.indexOf('.') == -1 || mail.indexOf('.') == mail.length-1 || mail.indexOf('.') <= mail.indexOf('@')+1 || mail.lastIndexOf('.') == mail.length-1){
alert('.不对');
return false;
}
return true;
}
</script>
</head>
<body>
<form action="">
<input type="text" name="youjian" id="email">
<input type="submit" onclick=" return check()">
</form>
</body>
</html>