基本的表單驗證技術
為什么需要表單驗證?
1.避免信息無法更新或出現新錯誤
2.減輕服務器端的壓力
String對象:
與Java語言中的String對象相似
創建字符串有兩種:
1.使用var語句,并根據需要為其賦值
var newstr = "這是我寫的腳本";
2.創建字符串對象
var newstr = new String("這是我寫的腳本");
字符串屬性:
常用屬性只有一個,即:length 它表示字符串中的字符個數,包括符號如空格等。
var mytest="I love javascript!";
var mytestlength=mytest.length;
最后mytestlength返回mystest字符串的長度為18
字符串對象的方法:
| 說明 |
| 查找子字符串的位置,這個位置是要 查找的文本出現的第一個位置 |
| 獲取位于指定索引位置的字符 |
| 返回位于指定索引index1 和 index2之間的字符串, 并且包括索引index1所對應的字符, 不包含index2對應的字符 |
| 將字符串轉換成小寫 |
| 將字符串轉換成大寫 |
如何驗證Email中,是否包含"@"符號:
var str="accp@163.com";
if(str.indexOf('@',0)==-1)
//indexOf方法,未找到返回-1
{
}
文本框控件:
即:<input type="text">
文本框 | 事件 | onBlur | 失去焦點事件,當光標離開某個文本框時觸發 |
onFocus | 光標進入某個文本框 | ||
onChange | 文本框的內容被修改,即發生了改變 | ||
方法 | focus() | 獲得焦點,即獲得鼠標光標 | |
select() | 選中文本內容,突出顯示輸入區域 | ||
屬性 | value | 設置或獲得一個文本框值屬性的值 |
如何在表單提交時,驗證信息:
function checkAll(){
//驗證Email和Name是否正確,如果都返回true,則真
}
<form name="myform" method="post" action="reg_success.html" onSubmit="return checkAll()">
……
<form>
onSubmit事件屬于<form>表單元素,所以要寫在<form>標簽內
onSubmit="return checkAll()"將返回true/false
來決定是否提交表單
常見錯誤:
驗證輸入必須為a-z A-Z 0-9和下劃線_
var fname = document.getElementByIdx_x_x("txtName").value;
for(var i=0;i<ftext.length;i++){
|| (ftext=='_') || (ftext>'a' && ftext<'z') || (ftext>'A'
&&
ftext<'Z'))
continue;
alert("輸入錯誤");
document.getElementByIdx_x_x("txtName").select();
return false;
}
return true;
截取字符串substring方法: [ , )
var a="abcde";
var b = a.substring(1,2);
b的值為:"b"
包含左邊的,不包含右邊的,和Java一樣
驗證非空有兩種方法:
if(str.length==0) 或者 if(str=="")
錯誤:<input type="button" name="btnLogin"
value="登錄" onSubmit="return checkAll()">
1.type="submit"
2.onSubmit="return checkAll()"
應當寫在<form>屬性中