随笔 - 15, 文章 - 0, 评论 - 5, 引用 - 0
数据加载中……

JS验证方法

 <!--  
  说明:每个校验函数默认都不校验要求的输入长度,只有当用户有输入的时候才开始校验;  
              这样设计的目的是因为实际应用中有的表单是可以不要输入的,如果某个表单域要求一定输入,  
      那就可以象最后那个表单域一样加入长度校验。  
  -->  
  <HTML><HEAD><TITLE>FormCheck</TITLE>  
  <META   http-equiv=Content-Type   content="text/html;   charset=gb2312">  
  <STYLE>TD   {FONT-SIZE:   12px;   COLOR:   #333333}</STYLE>  
  <SCRIPT   language=JavaScript   type=text/JavaScript    
   >

 /*焦点放置在第一个表单域*/  
  function   focusInFirst(){  
    document.forms[0].elements[0].focus();}  
   
  /*判断用户输入是否为空*/  
  function   isEmpty(ui)   {  
    return   (ui==null||ui=="");}  
   
  /*取得用户输入的字符串的长度*/  
  function   getLength(ui)   {  
    var   i,sum=0;  
    for(i=0;i<ui.length;i++)   {  
      if   ((ui.charCodeAt(i)>=0)   &&   (ui.charCodeAt(i)<=255))  
        sum++;  
          else  
    sum+=2;}  
    return   sum;}  
   
  /*是否为数字、字母或下划线*/  
  function   isNLU(ui)   {  
      var   valid=/^\w*$/;  
      return   (valid.test(ui));}  
   
  /*判断是否为身份证号码*/  
  function   isIdno(ui){  
      var   valid=/(^\d{16}$)|(^\d{18}$)/;  
      return   (isEmpty(ui)||valid.test(ui));}  
   
  /*判断是否为邮政编码*/  
  function   isPostCode(ui){  
      var   valid=/^\d{6}$/;  
      return   (isEmpty(ui)||valid.test(ui));}  
   
  /*判断是否为固定电话*/  
  function   isChinaTel(ui){  
      var   valid=/^0\d{2,3}\-\d{7,8}$/;  
      return   (isEmpty(ui)||valid.test(ui));}  
   
  /*判断是否为移动电话*/  
  function   isChinaMob(ui){  
      var   valid=/^0?13[0,1,3,5,6,8,9]\d{8}$/;  
      return   (isEmpty(ui)||valid.test(ui));}  
   
  /*判断是否为电话,只能为固定电话或移动电话*/  
  function   isTel(ui){  
      var   valid=/(^0\d{2,3}\-\d{7,8}$)|(^0?13[0,1,3,5,6,8,9]\d{8}$)/;  
      return   (isEmpty(ui)||valid.test(ui));}  
   
  /*判断是否为邮件*/  
  function   isMail(ui){  
    if(isEmpty(ui)){return   true;}  
      var   notValid=/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)|(^\-)|(\-\.)|(\.\-)/;  
      var   valid=/^.+\@[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}$/;  
    return   (!notValid.test(ui)&&valid.test(ui));}  
   
  /*用户输入字符串长度是否在两值之间*/  
  function   isLenBetween(ui,minl,maxl)   {  
      return   (ui>=minl&&ui<=maxl);}

 


</SCRIPT>  
   
  <SCRIPT   language=JavaScript>  
  <!--  
  function   formCheck(){  
  if(!isIdno(document.testForm.id.value)){  
    alert("身份证号码输入有误!要求只能输入数字,长度为16或18位。");  
    document.testForm.id.focus();  
    return   false;}  
  if(!isChinaTel(document.testForm.tel.value)){  
    alert("固定电话号码输入有误!合法的格式为:区号-电话号码。");  
    document.testForm.tel.focus();  
    return   false;}  
  if(!isChinaMob(document.testForm.mobi.value)){  
    alert("移动电话号码输入有误!");  
    document.testForm.mobi.focus();  
    return   false;}  
  if(!isMail(document.testForm.mail.value)){  
    alert("邮箱输入有误!");  
    document.testForm.mail.focus();  
    return   false;}  
  if(!isPostCode(document.testForm.post.value)){  
    alert("邮政编码输入有误!要求只能输入数字,长度为6位。");  
    document.testForm.post.focus();  
    return   false;}  
  if(!isNLU(document.testForm.nlu.value)){  
    alert("该域只能输入数字、字母或下划线!");  
    document.testForm.nlu.focus();  
    return   false;}  
  var   len=getLength(document.testForm.leng.value);  
  if(len<4||len>6){  
    alert("该域要求输入长度范围是4至6个字符!");  
    document.testForm.leng.focus();  
    return   false;}  
  }  
  //-->  
  </SCRIPT>  
   
  <BODY   text=#000000   bgColor=#ffffff   onload=focusInFirst()>  
  <CENTER><B><FONT   face="Geneva,   Arial,   Helvetica,   san-serif"   color=#ff6600    
  size=4>The   sample   of   FormCheck</FONT></B>   <FONT    
  face="Arial,   Helvetica,   sans-serif"   size=2>(By   Roczhao)   </FONT>  
  <HR   width="60%"   color=#000000   noShade   SIZE=1>  
   
  <FORM   name=testForm   onsubmit="return   formCheck();"   method=post>  
  <TABLE   cellSpacing=0   cellPadding=0   width=500   border=1>  
      <TBODY>  
      <TR>  
          <TD   width=182   height=25>身份证:</TD>  
          <TD   width=312><INPUT   name=id>   </TD></TR>  
      <TR>  
          <TD   width=182   height=25>固定电话:</TD>  
          <TD   width=312><INPUT   name=tel>   </TD></TR>  
      <TR>  
          <TD   width=182   height=25>手机号码:</TD>  
          <TD   width=312><INPUT   name=mobi>   </TD></TR>  
      <TR>  
          <TD   width=182   height=25>邮箱:</TD>  
          <TD   width=312><INPUT   name=mail>   </TD></TR>  
      <TR>  
          <TD   width=182   height=25>邮编:</TD>  
          <TD   width=312><INPUT   name=post>   </TD></TR>  
      <TR>  
          <TD   width=182   height=25>只能输入数字、字母、下划线:</TD>  
          <TD   width=312><INPUT   name=nlu>   </TD></TR>  
      <TR>  
          <TD   width=182   height=25>输入长度在4-6之间:</TD>  
          <TD   width=312><INPUT   name=leng>   </TD></TR>  
      <TR   align=center>  
          <TD   colSpan=2   height=25><INPUT   type=submit   value="     点击测试     "   name=Submit>    
          </TD></TR></TBODY></TABLE></FORM></CENTER></BODY></HTML>  
   
   
   
  /*js函数文件   formcheck.js*/  
   
  /*------------------------------------------------------------------------------  
    *   File:   formcheck.js   
    *   Description:FormCheck组件的函数库文件(部分),共计110个方法  
    *------------------------------------------------------------------------------*/  
  /*焦点放置在第一个表单域*/  
  function   focusInFirst(){  
    document.forms[0].elements[0].focus();}  
   
  /*判断用户输入是否为空*/  
  function   isEmpty(ui)   {  
    return   (ui==null||ui=="");}  
   
  /*取得用户输入的字符串的长度*/  
  function   getLength(ui)   {  
    var   i,sum=0;  
    for(i=0;i<ui.length;i++)   {  
      if   ((ui.charCodeAt(i)>=0)   &&   (ui.charCodeAt(i)<=255))  
        sum++;  
          else  
    sum+=2;}  
    return   sum;}  
   
  /*是否为数字、字母或下划线*/  
  function   isNLU(ui)   {  
      var   valid=/^\w*$/;  
      return   (valid.test(ui));}  
   
  /*判断是否为身份证号码*/  
  function   isIdno(ui){  
      var   valid=/(^\d{16}$)|(^\d{18}$)/;  
      return   (isEmpty(ui)||valid.test(ui));}  
   
  /*判断是否为邮政编码*/  
  function   isPostCode(ui){  
      var   valid=/^\d{6}$/;  
      return   (isEmpty(ui)||valid.test(ui));}  
   
  /*判断是否为固定电话*/  
  function   isChinaTel(ui){  
      var   valid=/^0\d{2,3}\-\d{7,8}$/;  
      return   (isEmpty(ui)||valid.test(ui));}  
   
  /*判断是否为移动电话*/  
  function   isChinaMob(ui){  
      var   valid=/^0?13[0,1,3,5,6,8,9]\d{8}$/;  
      return   (isEmpty(ui)||valid.test(ui));}  
   
  /*判断是否为电话,只能为固定电话或移动电话*/  
  function   isTel(ui){  
      var   valid=/(^0\d{2,3}\-\d{7,8}$)|(^0?13[0,1,3,5,6,8,9]\d{8}$)/;  
      return   (isEmpty(ui)||valid.test(ui));}  
   
  /*判断是否为邮件*/  
  function   isMail(ui){  
    if(isEmpty(ui)){return   true;}  
      var   notValid=/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)|(^\-)|(\-\.)|(\.\-)/;  
      var   valid=/^.+\@[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}$/;  
    return   (!notValid.test(ui)&&valid.test(ui));}  
   
  /*用户输入字符串长度是否在两值之间*/  
  function   isLenBetween(ui,minl,maxl)   {  
      return   (ui>=minl&&ui<=maxl);}

posted on 2008-07-30 10:57 zhouzhou@ 阅读(350) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: