一个简单的用javascript验证表单的例子

in form_utils.js

//  A utility function that returns true if a string contains only  //  whitespace characters. function  isblank(s) {     for(var i = 0; i < s.length; i++{         var c = s.charAt(i);         if ((c != ' '&& (c != ' '&& (c != ' ')) return false;     }     return true; } //  This is the function that performs form verification. It will be invoked //  from the onSubmit() event handler. The handler should return whatever //  value this function returns. function  verify(f) {     var msg;     var empty_fields = "";     var errors = "";     // Loop through the elements of the form, looking for all      // text and textarea elements that don't have an "optional" property     // defined. Then, check for fields that are empty and make a list of them.     // Also, if any of these elements have a "min" or a "max" property defined,     // then verify that they are numbers and that they are in the right range.     // Put together error messages for fields that are wrong.     for(var i = 0; i < f.length; i++{         var e = f.elements[i];         if (((e.type == "text"|| (e.type == "textarea"|| (e.type == "password")) && !e.optional) {             // first check if the field is empty             if ((e.value == null|| (e.value == ""|| isblank(e.value)) {                 empty_fields += "           " + e.name;                 continue;             }             // Now check for fields that are supposed to be numeric.             if (e.numeric || (e.min != null|| (e.max != null))                 var v = parseFloat(e.value);                 if (isNaN(v) ||                      ((e.min != null&& (v < e.min)) ||                      ((e.max != null&& (v > e.max))) {                     errors += "- The field " + e.name + " must be a number";                     if (e.min != null                        errors += " that is greater than " + e.min;                     if (e.max != null && e.min != null                        errors += " and less than " + e.max;                     else if (e.max != null)                         errors += " that is less than " + e.max;                     errors += ". ";                 }             }         }     }     // Now, if there were any errors, display the messages, and     // return false to prevent the form from being submitted.      // Otherwise return true.     if (!empty_fields && !errors) {         return true;     }     msg  = "______________________________________________________ "     msg += "The form was not submitted because of the following error(s). ";     msg += "Please correct these error(s) and re-submit. ";     msg += "______________________________________________________ "     if (empty_fields) {         msg += "- The following required field(s) are empty:"                  + empty_fields + " ";         if (errors) msg += " ";     }     msg += errors;     alert(msg);     return false; } // -->

 

使用时的调用方法

< script src = " ./form_utils.js " ></ script >    < script language = JAVASCRIPT type = text / javascript > <!-- function  verifyForm(f) {     // alert("Verifying form...");     if (verify(document.forms[0]) == true{         document.getElementById('key_alpha').value =                                  document.getElementById('username').value;         document.getElementById('resolvname_value').value = "key.alpha:" +             document.getElementById('dm.key.alpha').value;         return true;     } else {         return false;     } } // --> </ script > </ p > < form name = RegisterUser onSubmit = " return verifyForm(this); "           action = " /prs "  method = post > ...... </ form >

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值