Javascript表單驗證要注意的事項,javascript表單

來源:互聯網
上載者:User

Javascript表單驗證要注意的事項,javascript表單

Javascript表單編程:

一.表單元素的尋找方式:

1.var oForm=document.getElementById("Form1");

2.var oForm=document.forms[Form1]//通過name尋找;

二.表單欄位的共同特點:

disabled:該屬性用於指示一個表單控制項是否可用;

form屬性:該屬性返回包含欄位的表單;

blur():該方法導致表單欄位失去焦點;

focus():該方法導致表單欄位獲得焦點;

blur事件:當表單欄位失去焦點時,發生該事件,隨後執行onblur事件處理常式;

focus事件:當表單欄位獲得焦點時,發生該事件,隨後執行onfocus事件處理常式;

三:表單提交,重設

sumbit:  oForm sumbit();

reset:  oForm reset();

四.擷取文字框的值:

length   otext.value.length;

五:添加元素節點,文本節點,刪除元素

creatElement,creatTextNode,remove;

六:選中複選框的值:select

七:表單校正最佳實務:

必須對使用者有協助;

不要讓人討厭;

只要有可能就用HTML功能代替Javascript

一次顯示所有錯誤;

早點捕獲錯誤;

如果拿不準就不要太嚴格;


JavaScript 表單驗證問題

先看下你的代碼,這裡有幾個問題
1、表單提交時執行的函數未找到
onsubmit="return chkform(this)" 這裡的chkform函數在哪裡?如果 Form1_Validator 函數,要修改。
2、Form1_Validator 函數代碼錯誤
少了一個“}”

以下是修改後的代碼:
<script>
// 清除字串兩端的空白字元
function trim(str) {
return str.replace(/(^\s*)|(\s*$)/g,'');
}
// 驗證表單
function chkform(theForm){
var username=theForm.username.value;
username=trim(username);
if (username == ""){
alert("請輸入使用者名稱");
theForm.username.focus();
return false;
}
}
</script>
// 代碼結束

通常表單驗證要根據是需要對錶單值的格式、規則進行驗證。比如使用者名稱,多少個字元,是否可以在裡面使用符號等。根據要求寫出相應的Regex來進行匹配驗證。
 
javascript表單驗證

驗證函式如下:
function chkfrm(o){
if(!/\d+/gi.test(o.empid.value)){
alert('僱員編號:只能是數字。');
return false;
}
if(o.empname.value==''){
alert('僱員姓名:不可為空。');
return false;
}
if(o.empjob.value==''){
alert('僱員工作:不可為空。');
return false;
}
if(!/^((((1[6-9]|[2-9]\d)\d{2})[-\/](0?[13578]|1[02])[-\/](0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})[-\/](0?[13456789]|1[012])[-\/](0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})[-\/]0?2[-\/](0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))[-\/]0?2[-\/]29[-\/]))$/gi.test(o.emptime.value)){
alert('僱傭日期:必須是日期格式,即2013-03-02');
return false;
}
if(isNaN(o.empmoney.value)){
alert('基本工資:必須是數字(小數)');
return false;
}
if(isNaN(o.emprw.value)){
alert('獎金:必須是數字(小數)');
return false;
}
}

<form action="" method="post">
改為
<form action="" method="post" onsubmit="javascript:return chkfrm(this);">
即可
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.