|
主题: 關於js用作表單驗證的幾種類型!
|
 zaza
职务:普通成员
等级:2
金币:1.0
发贴:490
注册:2002/6/5 17:49:30
|
#12002/12/4 12:13:58
小女子前天為了趕一個頁面的表單客戶端驗證,查了不少資料,還在之前提了N個問題,到昨天終於大功告成,做得非常完備!現將我所用到的驗證集中張貼於此,供各位要用的兄弟姐妹信手來拈: 1,文本框不能為空: function isEmpty(){ if(documnt.form1.textt.value==""){ alert("文本框不能為空!"); return false; } return true; }
2.僅可以輸入數字: function numericCheck(){ nr1=document.form1.textt.value; flg=0; str=""; spc="" arw=""; for (var i=0;icmp="0123456789" tst=nr1.substring(i,i+1) if (cmp.indexOf(tst)<0){ flg++; str+=" "+tst; spc+=tst; arw+="^"; } else{arw+="_";} } if (flg!=0){ if (spc.indexOf(" ")>-1) { str+="㎝"; } alert("只能輸入數字,錄入中出現不合法字符:\n"+str); return false; } }
3.驗證email格式 function checkemail(){ if(document.form1.textt.value.indexOf ('@',0)==-1 || document.form1.textt.value.indexOf ('.',0)==-1){ alert("請輸入正確的電郵地址!"); return false; } return true; }
4.兩個文本框中必須在輸入一個 if(document.form1.textt1.value=="" && document.form1.textt2.value==""){ alert("必須輸入電話或是電郵地址!"); document.form1.telephone.focus(); return false; } return true; } (其中表單名字:form1; 文本框名為:textt )
编辑历史:[这消息被zaza编辑过(编辑时间2002-12-04 12:14:51)]
|
 zaza
职务:普通成员
等级:2
金币:1.0
发贴:490
注册:2002/6/5 17:49:30
|
#22002/12/4 16:34:15
魔域冰臣說的極是,於是增加密码位数和重复验证的例子如下: function isnumber(){ if(document.form1.textt.value.length>6){ alert("對不起,密碼位數必須在6位以內!" ); return false; } return true;}
function isem(){ if(document.form1.textt1.value!=document.form1.textt2.value){ alert("兩次密碼錄入不相同!" ); return false; } return true; } 其實若是把這幾條弄明白了,可以寫得更簡單一些,還可以用帶參數的方式來寫,就更方便多個文本的調用了,由於時間關係,請有需要的人自己去試吧! :D
编辑历史:[这消息被zaza编辑过(编辑时间2002-12-04 16:35:22)]
|
 我佛山人
职务:版主
等级:4
金币:16.0
发贴:2269
注册:2002/8/7 15:09:27
|
#32002/12/4 20:20:51
还是用正则表达式方便一点
|
 zhnagyi
职务:普通成员
等级:1
金币:0.0
发贴:53
注册:2001/12/11 13:30:06
|
#42002/12/5 16:55:30
function chkchinese(textobject) // 检测是否输入了中文 { var i; for (i=0;i if (textobject.value.charCodeAt(i)>256) {alert("对不起,此栏目不能输入中文");textobject.value="";textobject.focus();} } //注意,最好将此函数放在文本框的onblur中。 //也可用于不准输入全角数字或字符的时候
|
 hemingp
职务:普通成员
等级:1
金币:0.0
发贴:106
注册:2001/11/9 23:10:35
|
#52002/12/6 2:02:51
onblur是指什么啊?
|
 zhnagyi
职务:普通成员
等级:1
金币:0.0
发贴:53
注册:2001/12/11 13:30:06
|
#62002/12/10 15:42:49
失去焦点
|
 我佛山人
职务:版主
等级:4
金币:16.0
发贴:2269
注册:2002/8/7 15:09:27
|
#72002/12/10 15:53:07
zhnagyi在上个帖子中说 引用: function chkchinese(textobject) // 检测是否输入了中文 { var i; for (i=0;i if (textobject.value.charCodeAt(i)>256) {alert("对不起,此栏目不能输入中文");textobject.value="";textobject.focus();} } //注意,最好将此函数放在文本框的onblur中。 //也可用于不准输入全角数字或字符的时候
我觉得用onKeyUp好一点
|