- 請教一下已知驗證方法,怎麼用JavaScript實現表單的驗證,並將提示信息輸入到文本框後
-
<script type="text/javascript">
//檢查全部表單元素是否為空
function checkBlank(Form) {
var v=true;
for(i=0;i<Form.length;i++){
if(Form.elements[i].value==""){
alert(Form.elements[i].title+"不能為空!");
Form.elements[i].focus();
v=false;
return false;
}
}
return v;
}
//驗證用戶名是否合法
function checkusername(username) {
var str=username;
//在JavaScript中,正則表達式只能以"/"開始和結束
var Expression=/^(\w){3,20}$/;
var objExp=new RegExp(Expression);
return objExp.test(str);
}
//驗證密碼是否合法
function checkPWD(PWD) {
var str=PWD;
var Expression=/^[A-Za-z]{1}([A-Za-z0-9]|[._]){5,19}/;
var objExp=new RegExp(Expression);
return objExp.test(str);
}
//驗證Email地址是否合法
function checkemail(email) {
var str=email;
var Expression=/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
var objExp=new RegExp(Expression);
return objExp.test(str);
}
最佳回答:
<form method="post" onsubmit="return checkBlank(this)">
<input type="text" title="name" /><br />
<input type="text" title="password" /><br /><input type="submit" value="提交" />
</form>
<script type="text/javascript">
function showMsg(input, msg) {
if (msg === false) {
if(input.nextSibling.tagName=='LABEL') input.parentNode.removeChild(input.nextSibling)
}
else if(input.nextSibling.tagName!='LABEL') {
var lb = document.createElement('label');
lb.innerHTML = msg;
input.parentNode.insertBefore(lb, input);
input.parentNode.insertBefore(input, lb);
}
}
//檢查全部表單元素是否為空
function checkBlank(Form) {
var v = true;
for (i = 0; i < Form.length; i++) {
if (Form.elements[i].value == "") {
//alert(Form.elements[i].title + "不能為空!");
showMsg(Form.elements[i], Form.elements[i].title + '不能為空!');
Form.elements[i].focus();
v = false;
return false;
} else showMsg(Form.elements[i], false);
}
return v;
}
//驗證用戶名是否合法
function checkusername(username) {
var str = username;
//在JavaScript中,正則表達式只能以"/"開始和結束
var Expression = /^(\w){3,20}$/;
var objExp = new RegExp(Expression);
return objExp.test(str);
}
//驗證密碼是否合法
function checkPWD(PWD) {
var str = PWD;
var Expression = /^[A-Za-z]{1}([A-Za-z0-9]|[._]){5,19}/;
var objExp = new RegExp(Expression);
return objExp.test(str);
}
//驗證Email地址是否合法
function checkemail(email) {
var str = email;
var Expression = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
var objExp = new RegExp(Expression);
return objExp.test(str);
}
</script>