HTML頁面登錄時(shí)的JS驗(yàn)證方法
更新時(shí)間:2014年05月28日 15:55:09 作者:
這篇文章主要介紹了HTML界面登錄時(shí)的JS驗(yàn)證方法,需要的朋友可以參考下
開發(fā)一個(gè)注冊(cè)的HTML頁面, 用于搜集用戶的注冊(cè)信息。包括: 姓名(不能為空), 年齡(必須超過17歲), 體重(30-150kg), 班級(jí)(下拉列表),登陸密碼(至少8位長(zhǎng))、確認(rèn)密碼(和登錄密碼一致),Email(不能為空) , 電話,QQ, 個(gè)人簡(jiǎn)歷等信息。 并針對(duì)這些表的元素來創(chuàng)建相應(yīng)的驗(yàn)證,如果檢測(cè)到錯(cuò)誤, 在輸入框后面用紅色的字顯示錯(cuò)誤。要用到前面幾節(jié)學(xué)習(xí)過的單行文本輸入框text、下拉列表框select、密碼輸入框password、多行文本輸入框textarea。這是一個(gè)較實(shí)用的用戶注冊(cè)表單.。
register.html:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>實(shí)驗(yàn)2</title>
<link href="check.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="load.js">
</script>
</head>
<!--return validate()和validate()在于是否清空表單-->
<body onload="load_greeting()">
<form id="test" align="left" onSubmit="return validate()">
<table>
<tr>
<td>Name*:</td>
<td><input type="text" name="Name" id="name" size="20" onChange='check("name")'></td>
<td id="nameCheck" class="check" hidden="true">*姓名不能為空</td>
</tr>
<tr>
<td>Age:</td>
<td><input type="text" name="Age" id="age" size="20" onChange='check("age")'></td>
<td id="ageCheck" class="check" hidden="true">*年齡不能小于17歲</td>
</tr>
<tr >
<td>weight:</td>
<td><input type="text" name="weight" id="weight" size="20" onChange='check("weight")'></td>
<td id="weightCheck" class="check" hidden="true">*體重范圍為30~150KG</td>
</tr>
<tr>
<td>Class:</td>
<td><select id="class" name="class">
<option>class0</option>
<option>class1</option>
<option>class2</option>
<option>class3</option>
</select>
</td>
</tr>
<tr>
<td>Password*:</td>
<td><input type="password" name="Password" id="password" size="20" onChange='check("password")'></td>
<td id="passwordCheck" class="check" hidden="true">*password length less than 8</td>
</tr>
<tr>
<td>Confirm Password*:</td>
<td><input type="password" name="cpassword" id="cpassword" size="20" onChange='check("cpassword")'></td>
<td id="cpasswordCheck" class="check" hidden="true">*Two passwd is not same</td>
</tr>
<tr >
<td>Email*:</td>
<td><input type="email" name="email" id="email" size="20" onChange='check(this.id)'></td>
<td id="emailCheck" class="check" hidden="true">*電子郵件名非法!</td>
</tr>
<tr>
<td>TEL:</td>
<td><input type="text" name="TEL" id="TEL" size="20"></td>
</tr>
<tr>
<td>QQ:</td>
<td><input type="text" name="QQ" id="QQ" size="20"></td>
</tr>
<tr>
<td>Personal Information:</td>
<td><textarea rows="10" cols="19"></textarea></td>
</tr>
<tr>
<td colspan="3">
<input type="submit" name="submit">
<input type="reset" name="reset">
</td>
</tr>
</table>
</form>
</body>
</html>
check.css:
td.check{
color:#C00;
font-weight:bold;
}
load.js:
function check(str)
{
var x = document.getElementById(str);
var y = document.getElementById(str+"Check");
//alert("check!");
if(str=="name")
{
if(x.value=="")
y.hidden = false;
else
y.hidden = true;
}
else if(str=="age")
{
if(isNaN(x.value) || x.value < 17)
y.hidden = false;
else
y.hidden = true;
}
else if(str=="weight")
{
x = x.value;
if(isNaN(x) || x < 30 || x > 150)
y.hidden = false;
else
y.hidden = true;
}
else if(str=="password")
{
x = x.value.length;
if(x < 8)
{
y.hidden = false;
//alert("check!");
}
else
y.hidden = true;
}
else if(str=="cpassword")
{
var z = document.getElementById("password").value;
x = x.value;
if(x != z)
y.hidden = false;
else
y.hidden = true;
}
else if(str=="email")
{
x = x.value.indexOf("@")
if(x == -1)
y.hidden = false;
else
y.hidden = true;
}
return y.hidden;
}
function validate()
{
var arr=["name", "age", "weight", "password", "cpassword", "email"];
var i = 0;
submitOK = true;
while(i <= 5)
{
if(!check(arr[i]))
{
alert(arr[i]+" wrong!");
submitOK = false;
break;
}
i++;
}
if(submitOK)
{
alert("提交成功!");
return true;
}
else
{
alert("提交失敗");
return false;
}
}
function load_greeting()
{
//alert("visit \n");
}
register.html:
復(fù)制代碼 代碼如下:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>實(shí)驗(yàn)2</title>
<link href="check.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="load.js">
</script>
</head>
<!--return validate()和validate()在于是否清空表單-->
<body onload="load_greeting()">
<form id="test" align="left" onSubmit="return validate()">
<table>
<tr>
<td>Name*:</td>
<td><input type="text" name="Name" id="name" size="20" onChange='check("name")'></td>
<td id="nameCheck" class="check" hidden="true">*姓名不能為空</td>
</tr>
<tr>
<td>Age:</td>
<td><input type="text" name="Age" id="age" size="20" onChange='check("age")'></td>
<td id="ageCheck" class="check" hidden="true">*年齡不能小于17歲</td>
</tr>
<tr >
<td>weight:</td>
<td><input type="text" name="weight" id="weight" size="20" onChange='check("weight")'></td>
<td id="weightCheck" class="check" hidden="true">*體重范圍為30~150KG</td>
</tr>
<tr>
<td>Class:</td>
<td><select id="class" name="class">
<option>class0</option>
<option>class1</option>
<option>class2</option>
<option>class3</option>
</select>
</td>
</tr>
<tr>
<td>Password*:</td>
<td><input type="password" name="Password" id="password" size="20" onChange='check("password")'></td>
<td id="passwordCheck" class="check" hidden="true">*password length less than 8</td>
</tr>
<tr>
<td>Confirm Password*:</td>
<td><input type="password" name="cpassword" id="cpassword" size="20" onChange='check("cpassword")'></td>
<td id="cpasswordCheck" class="check" hidden="true">*Two passwd is not same</td>
</tr>
<tr >
<td>Email*:</td>
<td><input type="email" name="email" id="email" size="20" onChange='check(this.id)'></td>
<td id="emailCheck" class="check" hidden="true">*電子郵件名非法!</td>
</tr>
<tr>
<td>TEL:</td>
<td><input type="text" name="TEL" id="TEL" size="20"></td>
</tr>
<tr>
<td>QQ:</td>
<td><input type="text" name="QQ" id="QQ" size="20"></td>
</tr>
<tr>
<td>Personal Information:</td>
<td><textarea rows="10" cols="19"></textarea></td>
</tr>
<tr>
<td colspan="3">
<input type="submit" name="submit">
<input type="reset" name="reset">
</td>
</tr>
</table>
</form>
</body>
</html>
check.css:
復(fù)制代碼 代碼如下:
td.check{
color:#C00;
font-weight:bold;
}
load.js:
復(fù)制代碼 代碼如下:
function check(str)
{
var x = document.getElementById(str);
var y = document.getElementById(str+"Check");
//alert("check!");
if(str=="name")
{
if(x.value=="")
y.hidden = false;
else
y.hidden = true;
}
else if(str=="age")
{
if(isNaN(x.value) || x.value < 17)
y.hidden = false;
else
y.hidden = true;
}
else if(str=="weight")
{
x = x.value;
if(isNaN(x) || x < 30 || x > 150)
y.hidden = false;
else
y.hidden = true;
}
else if(str=="password")
{
x = x.value.length;
if(x < 8)
{
y.hidden = false;
//alert("check!");
}
else
y.hidden = true;
}
else if(str=="cpassword")
{
var z = document.getElementById("password").value;
x = x.value;
if(x != z)
y.hidden = false;
else
y.hidden = true;
}
else if(str=="email")
{
x = x.value.indexOf("@")
if(x == -1)
y.hidden = false;
else
y.hidden = true;
}
return y.hidden;
}
function validate()
{
var arr=["name", "age", "weight", "password", "cpassword", "email"];
var i = 0;
submitOK = true;
while(i <= 5)
{
if(!check(arr[i]))
{
alert(arr[i]+" wrong!");
submitOK = false;
break;
}
i++;
}
if(submitOK)
{
alert("提交成功!");
return true;
}
else
{
alert("提交失敗");
return false;
}
}
function load_greeting()
{
//alert("visit \n");
}
相關(guān)文章
原生JS實(shí)現(xiàn)多個(gè)小球碰撞反彈效果示例
這篇文章主要介紹了原生JS實(shí)現(xiàn)多個(gè)小球碰撞反彈效果,結(jié)合完整實(shí)例形式分析了javascript實(shí)現(xiàn)小球碰撞的相關(guān)數(shù)值計(jì)算、隨機(jī)數(shù)生成、事件響應(yīng)等操作技巧,需要的朋友可以參考下2018-01-01利用JavaScript創(chuàng)建一個(gè)兔年春節(jié)倒數(shù)計(jì)時(shí)器
這篇文章主要介紹了如何利用JavaScript創(chuàng)建一個(gè)兔年春節(jié)倒數(shù)計(jì)時(shí)器,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)JavaScript有一定的幫助,需要的可以參考一下2023-01-01options預(yù)檢請(qǐng)求的前后端解決方式詳解
這篇文章主要為大家介紹了options預(yù)檢請(qǐng)求的前后端解決方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04深入JS函數(shù)中默認(rèn)參數(shù)的使用詳解
本文主要介紹了深入JS函數(shù)中默認(rèn)參數(shù)的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07JavaScript?的setTimeout與事件循環(huán)機(jī)制event-loop
這篇文章主要介紹了JavaScript?的setTimeout與事件循環(huán)機(jī)制event-loop,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07JS/CSS實(shí)現(xiàn)字符串單詞首字母大寫功能
這篇文章主要介紹了JS/CSS實(shí)現(xiàn)字符串單詞首字母大寫功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09onbeforeunload與onunload事件異同點(diǎn)總結(jié)
本文對(duì)onbeforeunload與onunload事件的異同點(diǎn)、觸發(fā)于、可以用在哪些元素以及解決刷新頁面時(shí)不調(diào)用onbeforeunload等等,感興趣的朋友可以參考下哈2013-06-06