CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  JavaScript

问问js的基本问题

楼主windok2004(世界)2004-09-02 09:55:58 在 Web 开发 / JavaScript 提问

我通常见到表单提交验证有两种情况  
  <script.......>  
  function   check()  
  ....  
  </script>  
  第一种:  
  <form   method="post"   name="form1"   onsubmit="return   check()"  
  <input   type="submit"   value="提交">  
  </from>  
  第二种:  
  <form   method="post"   name="form1">  
  <input   type="button"   value="提交"   onclick="check();">  
  </form>  
  两种方法有什么不同?? 问题点数:10、回复次数:6Top

1 楼josney(梦凌风)回复于 2004-09-02 09:57:46 得分 5

应该是一个有返回值一个没有返回值Top

2 楼windok2004(世界)回复于 2004-09-02 10:15:36 得分 0

什么意思??那种情况下用哪种?Top

3 楼xinyunyishui(心云意水)回复于 2004-09-02 11:04:34 得分 0

没什么太大的区别,关键是看你函数怎么写!Top

4 楼windok2004(世界)回复于 2004-09-02 11:11:21 得分 0

我的函数是这样的  
  function   cussave_check()  
  {  
  if   (document.form1.inname.value=='')  
  {window.alert   ("客户姓名不能为空!");  
    return   false;  
  }  
  //if   (!isChinaIDCard(document.form1.inic.value))  
  //{  
  // return   true;  
  //}  
  if   (document.form1.inphone.value==''   &&   document.form1.inmobile.value=='')  
  {  
  window.alert("电话必须至少填写一个");  
  return   false;  
  }  
  if   (document.form1.incardno.value=='')  
  {  
  window.alert("号码必须填写!");  
  return   false;  
  }  
  if   (document.form1.inaddress.value=='')  
  {  
  window.alert("地址必须填写!");  
  return   false;  
  }  
  //var   emailPattern   =   /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;  
  //if   (emailPattern.test(document.form1.inemail.value)==false)  
  //{  
  //alert("非法的Email地址!");  
  //return   false;  
  //}  
    document.form1.submit();  
   
  }  
  function   isChinaIDCard(StrNo){  
  StrNo   =   StrNo.toString()  
  if   (StrNo.length==18)  
  {  
            var   a,b,c  
            if   (!isInteger(StrNo.substr(0,17)))   {return   false}  
            a=parseInt(StrNo.substr(0,1))*7+parseInt(StrNo.substr(1,1))*9+parseInt(StrNo.substr(2,1))*10;  
            a=a+parseInt(StrNo.substr(3,1))*5+parseInt(StrNo.substr(4,1))*8+parseInt(StrNo.substr(5,1))*4;  
            a=a+parseInt(StrNo.substr(6,1))*2+parseInt(StrNo.substr(7,1))*1+parseInt(StrNo.substr(8,1))*6;    
            a=a+parseInt(StrNo.substr(9,1))*3+parseInt(StrNo.substr(10,1))*7+parseInt(StrNo.substr(11,1))*9;    
            a=a+parseInt(StrNo.substr(12,1))*10+parseInt(StrNo.substr(13,1))*5+parseInt(StrNo.substr(14,1))*8;    
            a=a+parseInt(StrNo.substr(15,1))*4+parseInt(StrNo.substr(16,1))*2;  
            b=a%11;  
   
            if   (b==2)   //最后一位为校验位  
            {  
            c=StrNo.substr(17,1).toUpperCase();   //转为大写X  
            }  
            else  
            {  
            c=parseInt(StrNo.substr(17,1));  
            }  
   
            switch(b)  
            {  
            case   0:   if   (   c!=1   )   {alert("身份证好号码校验位错");return   false;}break;  
            case   1:   if   (   c!=0   )   {alert("身份证好号码校验位错");return   false;}break;  
            case   2:   if   (   c!="X")   {alert("身份证好号码校验位错");return   false;}break;  
            case   3:   if   (   c!=9   )   {alert("身份证好号码校验位错");return   false;}break;  
            case   4:   if   (   c!=8   )   {alert("身份证好号码校验位错");return   false;}break;  
            case   5:   if   (   c!=7   )   {alert("身份证好号码校验位错");return   false;}break;  
            case   6:   if   (   c!=6   )   {alert("身份证好号码校验位错");return   false;}break;  
            case   7:   if   (   c!=5   )   {alert("身份证好号码校验位错");return   false;}break;  
            case   8:   if   (   c!=4   )   {alert("身份证好号码校验位错");return   false;}break;  
            case   9:   if   (   c!=3   )   {alert("身份证好号码校验位错");return   false;}break;  
            case   10:   if   (   c!=2   ){alert("身份证好号码校验位错");return   false}  
            }  
            }  
  else   //15位身份证号  
            {  
            if   (!isInteger(StrNo))   {alert("身份证号码错误,前15位不能含有英文字母!");return   false}    
            }  
   
  switch(StrNo.length){  
  case   15:    
                  if   (isValidDate("19"+StrNo.substr(6,2),StrNo.substr(8,2),StrNo.substr(10,2)))  
                          {return   true;}  
                  else  
                          {return   false;}  
  case   18:    
                  if   (isValidDate(StrNo.substr(6,4),StrNo.substr(10,2),StrNo.substr(12,2)))  
                          {return   true;}  
                  else  
                          {return   false;}  
  }  
  //alert("输入的身份证号码必须为15位或者18位!");  
  return   false  
  }  
   
  function   isValidDate(iY,   iM,   iD)   {    
          var   a=new   Date(iY,iM,iD);  
          var   y=a.getFullYear();  
          var   m=a.getMonth();  
          var   d=a.getDate();  
          if   (y!=iY   ||   m!=iM   ||   d!=iD)  
          {  
                  window.alert   ('身份证号码内日期错误!');  
                  return   false;  
          }  
  return   true  
  }  
   
  function   isInteger(str)   {  
  if   (/[^\d]+$/.test(str)){  
  return   false;  
  }  
  return   true;  
  }  
   
   
  function   IDUpdate(StrNo){  
   
  if   (!isChinaIDCard(StrNo))   {return   false}  
  if   (StrNo.length==15)  
  {  
            var   a,b,c  
            StrNo=StrNo.substr(0,6)+"19"+StrNo.substr(6,9)  
            a=parseInt(StrNo.substr(0,1))*7+parseInt(StrNo.substr(1,1))*9+parseInt(StrNo.substr(2,1))*10;  
            a=a+parseInt(StrNo.substr(3,1))*5+parseInt(StrNo.substr(4,1))*8+parseInt(StrNo.substr(5,1))*4;  
            a=a+parseInt(StrNo.substr(6,1))*2+parseInt(StrNo.substr(7,1))*1+parseInt(StrNo.substr(8,1))*6;    
            a=a+parseInt(StrNo.substr(9,1))*3+parseInt(StrNo.substr(10,1))*7+parseInt(StrNo.substr(11,1))*9;    
            a=a+parseInt(StrNo.substr(12,1))*10+parseInt(StrNo.substr(13,1))*5+parseInt(StrNo.substr(14,1))*8;    
            a=a+parseInt(StrNo.substr(15,1))*4+parseInt(StrNo.substr(16,1))*2;  
            b=a%11;  
   
            switch(b)  
            {  
            case   0:   {StrNo=StrNo+"1";}break;  
            case   1:   {StrNo=StrNo+"0";}break;  
            case   2:   {StrNo=StrNo+"X";}break;  
            case   3:   {StrNo=StrNo+"9";}break;  
            case   4:   {StrNo=StrNo+"8";}break;  
            case   5:   {StrNo=StrNo+"7";}break;  
            case   6:   {StrNo=StrNo+"6";}break;  
            case   7:   {StrNo=StrNo+"5";}break;  
            case   8:   {StrNo=StrNo+"4";}break;  
            case   9:   {StrNo=StrNo+"3";}break;  
            case   10:   {StrNo=StrNo+"3";}  
            }  
            }  
            return   StrNo;  
  }  
  function   checkEmail(){  
  var   emailPattern   =   /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;  
  if   (emailPattern.test(emails.value)==false)  
  alert("非法的Email地址!")  
  }  
   
  //-->  
  </script>Top

5 楼windok2004(世界)回复于 2004-10-22 12:51:07 得分 0

顶一下!Top

6 楼zhaoxiaoyang(梅雪香@深圳)回复于 2004-10-22 13:04:56 得分 5

这个不需要用返回值吧  
  如果在别的函数里还要调用空上校验的话可以要一个返回值  
  if(functionname()==0)   return   0;  
  Top

相关问题

  • 问问问问问问问问问问问问问问问问题!
  • 新手问问题?pb6.5中的几个基本概念?
  • 问问问
  • 本人乃菜鸟一只!想问问一个基本的问题!
  • 一个基本的变量访问问题,我还没有搞懂
  • 小弟初学,有个基本的客户端访问问题,请帮忙
  • 问问
  • 问,问题,问问题,问问问题 :)
  • 问问
  • 问问

关键词

  • document
  • strno
  • parseint
  • substr
  • emailpattern
  • ischinaidcard
  • za
  • break
  • 填写
  • alert

得分解答快速导航

  • 帖主:windok2004
  • josney
  • zhaoxiaoyang

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo