正规表达式复习:http://114.xixik.com/regex/
表单的认证:
完善的认证要靠客户端和服务器端的认证;它们两者的区别:
客户端确认:(通常是JavaScript)
减少服务器的负载
缩短用户等待时间
兼容性难
服务器端确认:
统一确认(统一把请求发到服务器端)
兼容性强
服务器负载重
简单实用javascript认证:
以后写javascript时,发现不了函数的错误,就用alert()l来debug、、、
今晚找一个渣渣错误找了好久。心塞塞啊啊啊啊。。
<script>
function vadacate() {
var username = document.getElementById("username");
var password = document.getElementById("password");
var repassword = document.getElementById("repassword");
var type = "^[1-9]{1,2}$"; //设置年龄是在0到99岁之间
var re = new RegExp(type);
var age = document.getElementById("age").value;
if(username.value.length == 0) {
alert("用户名不能为空!");
return false;
}
if(password.value.length < 6 || password.value.length > 12) {
alert("用户密码长度非法!");
return false;
}
if(password.value != repassword.value) {
alert("两次密码输入不一致!");
return false;
}
if(age.match(re) == null) {
alert("年龄要大于1岁和少于99岁!");
return false;
}
return true;
}
</script>
需要认证的表单如下:
<form action="LoginServlet" method="post" onsubmit="return vadacate()"><br>
username:<input type="text" name="username" id="username" value=""><br>
password:<input type="password" name="password" id="password" value=""><br>
repassword:<input type="password" name="repassword" id="repassword" value=""><br>
age:<input type="text" name="age" id="age"><br>
<input type="submit" value="submit">
<input type="reset" value="reset">
</form>
但是如果只有上面的javascript来验证表单的,非法用户可以通过访问./LoginServlet?username=""&userpassword="111!"等访问,从而会导致错误。。。
网友评论