首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

优化js,小弟我这个js验证太长了,太大了哪位高手有办法验证时候简略点

2012-03-04 
优化js,我这个js验证太长了,太大了谁有办法验证时候简略点?JScript codefunction invalidate(){//日期不能

优化js,我这个js验证太长了,太大了谁有办法验证时候简略点?

JScript code
    function invalidate()            {               //日期不能为空               document.getElementById("lblFcRefuelDateTime").innerHTML="";               if (document.getElementById("txtFcRefuelDateTime").value=='')               {    document.getElementById("lblFcRefuelDateTime").innerHTML="日期不能为空";                    document.getElementById("txtFcRefuelDateTime").focus();                    return  false  ;  }                             //txt只读 没什么用了               if (   result =/^\d{4}-\d{2}-\d{2}$/.test(document.getElementById("txtFcRefuelDateTime")))               {                    document.getElementById("lblFcRefuelDateTime").innerHTML="请填写正确的加油日期";                    document.getElementById("txtFcRefuelDateTime").focus();                    return  false  ;               }                 //不能大于今天的日期                 var textTime=  document.getElementById("txtFcRefuelDateTime").value;                 var nowDate = new Date();                 var nowTime=  nowDate.format("yyyy-MM-dd");               if ( textTime > nowTime)               {                    document.getElementById("lblFcRefuelDateTime").innerHTML="日期不能大于今天";                    document.getElementById("txtFcRefuelDateTime").focus();                    return  false  ;               }                document.getElementById("lblFcRefuelDateTime").innerHTML="";                                            //不能小于 上一条记录日期                 var  backTime =  document.getElementById("hdnOldFcTime").value;                 backTime=  backTime.toString("yyyy-MM-dd");               //alert(backTime);                if( backTime > textTime )               {    document.getElementById("lblFcRefuelDateTime").innerHTML="时间不能小于上一条记录";                    document.getElementById("txtFcRefuelDateTime").focus();                    return  false  ;               }               document.getElementById("lblFcRefuelDateTime").innerHTML="";               // 请填写燃油类型                if (document.getElementById("sltFcFuelType").selectedIndex==0)               {   document.getElementById("lblFcFuelType").innerHTML="请选择燃油类型";                   document.getElementById("sltFcFuelType").focus();                   return  false  ;               }               //请填写加油数                if (document.getElementById("txtFcRefuel").value=='')               {    document.getElementById("lblFcRefuel").innerHTML="请填写加油数";                    document.getElementById("txtFcRefuel").focus();                    return  false  ;               }               //验证小数               var str=document.getElementById("txtFcRefuel").value;               var pattern =/^[0-9]+([.]\d{1,2})?$/;               if(!pattern.test(str)){                     document.getElementById("lblFcRefuel").innerHTML="请输入数字(例:0.00),最高保留两位小数";                           document.getElementById("txtFcRefuel").focus();                     return false;                }               //加油数要大于0                if (document.getElementById("txtFcRefuel").value< 1 ){                    document.getElementById("lblFcRefuel").innerHTML="加油数必须大于0";                    document.getElementById("txtFcRefuel").focus();                     return  false  ;               }                    document.getElementById("lblFcRefuel").innerHTML="";               //里程表读数                if (document.getElementById("txtFcTripMeter").value=='')               {    document.getElementById("lblFcTripMeter").innerHTML="请填写里程表读数";                    document.getElementById("txtFcTripMeter").focus();                    return  false  ;               }                  //验证小数               var str=document.getElementById("txtFcTripMeter").value;               var pattern =/^[0-9]+([.]\d{1,2})?$/;               if(!pattern.test(str))               {                   document.getElementById("lblFcTripMeter").innerHTML="请输入数字(例:0.00),最高保留两位小数";                         document.getElementById("txtFcTripMeter").focus();                 return false;                }                //里程数要大于0                if (document.getElementById("txtFcTripMeter").value< 1 )               {    document.getElementById("lblFcTripMeter").innerHTML="里程数不能为负";                    document.getElementById("txtFcTripMeter").focus();                    return  false  ;               }               document.getElementById("lblFcTripMeter").innerHTML="";                //读数表 不能小于上一次               var oldvalue = parseFloat( document.getElementById("hdnOldFcTripMeter").value);               var nowvalue =  parseFloat( document.getElementById("txtFcTripMeter").value);               if (oldvalue >= nowvalue)               {   document.getElementById("lblFcTripMeter").innerHTML="不能小于或者等于上一次读数";                   document.getElementById("txtFcTripMeter").focus();                   return  false  ;               }               ///所有验证结束后 打开窗口 补充信息                   var s="<%=specId%>" ;                                     if(s==0)                        {    document.getElementById ("divUpdateSpec").style.display ="";                             return false ;                        }              return true ;              } 



[解决办法]
JScript code
var g=function(id){return document.getElementById(id)}
[解决办法]
写个公共函数参数valiate(id,reg,tip)封装一下
[解决办法]
探讨写个公共函数参数valiate(id,reg,tip)封装一下

[解决办法]
探讨function $(id) { return document.getElementById(id); }
为什么要加个 $的符号?

[解决办法]
改了几个,LZ看下合不合适... - -!
JScript code
    function $(id){        return document.getElementById(id);    }    function msg(lblId, msg, txtId){        $(lblId).innerHTML = msg;        $(txtId).focus();        return false;    }    function invalidate() {        //日期不能为空        $("lblFcRefuelDateTime").innerHTML = "";        if ($("txtFcRefuelDateTime").value == '') {            return msg("lblFcRefuelDateTime", "日期不能为空", "txtFcRefuelDateTime");        }        //txt只读 没什么用了        if (result = /^\d{4}-\d{2}-\d{2}$/.test($("txtFcRefuelDateTime"))) {            return msg("lblFcRefuelDateTime", "请填写正确的加油日期", "txtFcRefuelDateTime");        }        //不能大于今天的日期        var textTime = new Date($("txtFcRefuelDateTime").value.replace(/-/g, "//"));        if (textTime > new Date()) {            return msg("lblFcRefuelDateTime", "日期不能大于今天", "txtFcRefuelDateTime");        }        $("lblFcRefuelDateTime").innerHTML = "";        //不能小于 上一条记录日期                  ...... 

热点排行