主题:  關於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好一点