首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • js 验证文本框的格式是否合法
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-19 17:17:19 楼主
    文本框里输入的是200805这种日期数字,怎么验证它是否合法?比如:是不是字母,是否是6位?月是否大于12?
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-19 17:34:271楼 得分:0
    HTML code
    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题 3</title> </head> <body> <script language="javascript"> function check(input){ var str=trim(input); if(str.length==6) { if(parseInt(str.substring(4))>12){ //合法 } }else { alert("输入不合法"); } } function trim(str){ var reg=/\s*(.*?)\s*/g; return str.replace(reg,"$1"); } </SCRIPT> <input type='text' onchange='check(this.value)'> </body> </html>
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-19 17:38:392楼 得分:0
    是固定的这个格式吗? 200805
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-19 17:40:143楼 得分:0
    月大于12是什么意思?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-19 17:40:364楼 得分:0
    JScript code
    <script type="text/javascript"> function validDateFormat(dateStr){ if(dateStr.length==0) return false ; var reg = /^(\d{4})(\/|-)(\d{1,2})\2(\d{1,2})$/ var arr = reg.exec(dateStr); if (arr == null) return false; var date = new Date(arr[1],arr[3]-1,arr[4]); return date.getFullYear()==arr[1] && date.getMonth()==(arr[3]-1) && date.getDate()==arr[4]; } alert(validDateFormat("2008-02-30")) alert(validDateFormat("2008-3-1")) alert(validDateFormat("2008-3-01")) </script> 网上的 支持2008-3-012008/3/01 如果只支持2008-3-01 var reg = /^(\d{4})(-)(\d{1,2})\2(\d{1,2})$/


    参考上面的改
    function  validDateFormat(dateStr){ 
      if(dateStr.length==0 ¦ ¦ dateStr.length != 6) 
      return  false  ;
    dateStr=dateStr.subStr(0,2)+"-" +dateStr.subStr(2,4),+"-01"// 把你传的数字组合成2008-3-01这种形式
    //当然你要考虑null,或长度不够6位
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-19 17:47:215楼 得分:0
    JScript code
    alert(/^(\d{4}0[1-9])|(\d{4}1[0-2])$/.test("200805")) //这个问题可以简单
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    世纪乐知(北京)网络技术有限公司 版权所有 京 ICP 证 020026 号
    Copyright © 2000-2007, CSDN.NET, All Rights Reserved