欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js驗證表單第二部分

 更新時間:2006年11月25日 00:00:00   作者:  

說明:JavaScript腳本,驗證表單中的數(shù)據(jù)項  begin 
------------------------------------------------------------------------------- 
*/ 
function checkForm(objFrm){ 
var len = 0; 
len = objFrm.elements.length; 
var i = 0; 
var objCheck; 
//文本框 
for(i = 0; i < len; i ++){ 
objCheck = objFrm.elements[i]; 
if(objCheck.type =="text" && !f_checkTextValid(objCheck) ){ 
return false; 



//下拉框 
for(i = 0; i < len; i ++){ 
objCheck = objFrm.elements[i]; 
if(objCheck.type =="select-one" && !f_checkSelectValid(objCheck) ){ 
return false; 



//時間段有效 
if( f_checkStartAndEndDate(objFrm) == false) return false; 
return true; 

function f_checkSelectValid(obj){ 
//alert("check select"); 
if(obj.options.length <= 0){ 
alert("下拉選框無數(shù)據(jù)!"); 
return false; 

return true; 

function f_checkStartAndEndDate(frm){ 
var len = frm.elements.length; 
if(len == null && len == 0) return true; 
var i=0; 
var temp; 
var objCheck; 
var objStartDate; 
var objEndDate; 
//alert("start date period check"); 
try{ 
for(i=0; i< len ; i++){ 
objCheck = frm.elements[i]; 
temp = objCheck.name; 
if( temp.indexOf("startDate") >0 ||temp.indexOf("beginDate")>0 ) 
objStartDate = objCheck; 
if( temp.indexOf("endDate") > 0 ) 
objEndDate = objCheck; 

//alert(objStartDate.value); 
//alert(objEndDate.value); 
if(objStartDate.value==null || objStartDate.value =="" || objStartDate.value ==null || objStartDate.value ==""){ 
return true; 

return checkTwoDate(objStartDate.value, objEndDate.value); 
//alert("end date period check"); 
}catch(E){} 
return true; 

function f_checkTextValid(obj){ 
//不能為空 
if(obj.getAttribute("isNeed") != null){ 
if(f_isNotNull(obj) == false) return false; 

//不能超過長度 
if(obj.getAttribute("maxlength") != null){ 
if(f_checkLength(obj) == false) return false; 

var checkType =""; 
checkType = obj.getAttribute("checkType"); 
if(checkType==null||checkType=="") return true; 
// 
if (checkType.indexOf("number") >=0){ 
if(f_isNumber(obj) == false)  return false; 
if(f_checkNumType(obj,checkType) == false)  return false; 

// 
if (checkType.indexOf("positive") >=0){ 
if(f_isNumber(obj) == false)  return false; 
if(f_isPositive(obj)==false)  return false; 
if(f_checkNumType(obj,checkType) == false)  return false; 

if (checkType.indexOf("date") >=0){ 
if(f_checkDate(obj) == false) return false; 

/* 
switch(checkType){ 
case "number": if(f_isNumber(obj) == false) return false;break; 
case "date": if(f_checkDate(obj) == false) return false;break; 
default: 

*/ 
return true; 

function f_isNotNull(obj){ 
if(obj.value == ""){ 
f_alert(obj, " 不允許為空值!"); 
return false; 

return true; 

function f_isNumber(obj){ 
if(isNaN(obj.value)){ 
f_alert(obj," 應為數(shù)值類型"); 
return false; 


return true; 

function f_checkDate(obj) { 
if(checkDate(obj.value) ==false){ 
f_alert(obj," 不是合法日期格式!"); 
return false; 


return true; 

function f_checkLength(obj){ 
if(getTotalBytes(obj) > Math.abs( obj.getAttribute("maxlength") ) ){ 
f_alert(obj," 超出長度限制!"); 
return false; 


return true; 

function  f_alert(obj,alertStr){ 
var fielName = obj.getAttribute("fieldName"); 
if(fielName == null) 
fielName = ""; 
alert(fielName + "\n" +alertStr); 
obj.select(); 
obj.focus(); 

function f_checkNumType(obj, numType){ 
//假設: 已經(jīng)進行數(shù)字類型判斷 
var strTemp; 
var numpric; 
var numLen; 
var strArr; 
var defaultLen = 19; 
var defaultpric = 5; 
try{ 
if(numType == null|| numType =="") return f_checkNumLenPrec(obj,defaultLen, defaultpric); 
if(numType.indexOf("(") < 0 || numType.indexOf(")") < 0 ) return f_checkNumLenPrec(obj,defaultLen, defaultpric); 
strTemp = numType.substr( numType.indexOf("(") + 1 ,numType.indexOf(")") - numType.indexOf("(") -1 ); 
if(strTemp == null||strTemp =="") return f_checkNumLenPrec(obj,defaultLen, defaultpric); 
strArr = strTemp.split(","); 
numLen = Math.abs( strArr[0] ); 
numpric = Math.abs( strArr[1] ); 
return f_checkNumLenPrec(obj,numLen, numpric); 
}catch(e){ 
alert("in f_checkNumType = " + e); 
return f_checkNumLenPrec(obj,defaultLen, defaultpric); 


function f_checkNumLenPrec(obj, len, pric){ 
var numReg; 
var value = obj.value; 
var strValueTemp, strInt, strDec; 
//alert(value + "=====" + len + "====="+ pric); 
try{ 

numReg =/[\-]/; 
strValueTemp = value.replace(numReg, ""); 
strValueTemp = strValueTemp.replace(numReg, ""); 
//整數(shù) 
if(pric==0){ 
numReg =/[\.]/; 
//alert(numReg.test(value)); 
if(numReg.test(value) == true){ 
f_alert(obj, "輸入必須為整數(shù)類型!"); 
return false; 



if(strValueTemp.indexOf(".") < 0 ){ 
//alert("lennth==" + strValueTemp); 

if(strValueTemp.length >( len - pric)){ 
f_alert(obj, "整數(shù)位不能超過"+ (len - pric) +"位"); 
return false; 

}else{ 
strInt = strValueTemp.substr( 0, strValueTemp.indexOf(".") ); 

//alert("lennth==" + strInt); 

if(strInt.length >( len - pric)){ 
f_alert(obj, "整數(shù)位不能超過"+ (len - pric) +"位"); 
return false; 


strDec = strValueTemp.substr( (strValueTemp.indexOf(".")+1), strValueTemp.length ); 

//alert("pric==" + strDec); 

if(strDec.length > pric){ 
f_alert(obj, "小數(shù)位不能超過"+  pric +"位"); 
return false; 



return true; 
}catch(e){ 
alert("in f_checkNumLenPrec = " + e); 
return false; 


function f_isPositive(obj){ 
var numReg =/[\-]/; 
if(numReg.test(obj.value) == true){ 
f_alert(obj, "必須為正數(shù)!"); 
return false; 

return true; 


/* 
function selectedCheckboxCount(form) 
功能說明:對Form中選中的可選項計數(shù) 
參數(shù)說明: 
form:指定的表單 
*/ 
function selectedCheckboxCount(form){ 
var length =0; 
var i=0; 
var count =0; 
eles = form.elements; 
while(i<eles.length){ 
obj= eles.item(i); 
//type = obj.attributes.item("type").nodeValue; 
type = obj.type; 
if(type == "checkbox"){ 
if(obj.checked){ 
count++; 


i++; 

return count; 

//得到字節(jié)長度 
function getByteLen(str) 

var l = str.length; 
var n = l; 
for ( var i=0; i<l; i++ ) 
if ( str.charCodeAt(i) <0 || str.charCodeAt(i) >255 ) 
n=n+1; 
return n 

/* 
說明: 
1.清除表格中的數(shù)據(jù)(0.0 和 0) 
2.如果cell中沒有數(shù)據(jù),則自動加上一個空格 
3.清除空白行的checkbox 
參數(shù): 
clearzero:是否清除"0"、"0.0",false不清除、true清除(默認為true) 
tablename:要清除的表格名字,默認為sortTable 
*/ 
function clear_table(clearzero,tablename) 

var tobject; 
if(tablename==null) 
tobject=gmobj("sortTable"); 
else 
tobject=gmobj(tablename); 
//如果table未定義,則不進行過濾 
if(tobject==null) 
return; 

//如果函數(shù)調(diào)用參數(shù)為空,表示要清除0、0.0;反之,不要清除0、0.0。 
var clear = (clearzero==null)?true:clearzero; 
//清除0、0.0,填補空格 
var rows = tobject.rows; 
var j=0; 
for(var i=0;i<rows.length;i++) 

//取得第一個cell的屬性clear,如果為1,表示該行沒有數(shù)據(jù),則清除該行所有數(shù)據(jù) 
while(tobject.rows[i].cells[j] != null) 

if(clear) 

if(tobject.rows[i].cells[j].innerHTML==0 ||tobject.rows[i].cells[j].innerHTML==0.0||tobject.rows[i].cells[j].innerHTML=="") 
tobject.rows[i].cells[j].innerText=" "; 

else 

if (tobject.rows[i].cells[j].innerHTML=="") 
tobject.rows[i].cells[j].innerText=" "; 

j++; 

j=0; 

return true; 

function gmobj(mtxt)  /* Get object by object name */ 

if (document.getElementById) { 
m=document.getElementById(mtxt); 
} else if (document.all) { 
m=document.all[mtxt]; 
} else if (document.layers) { 
m=document.layers[mtxt]; 

return m; 

/* 
------------------------------------------------------------------------------- 
說明:JavaScript腳本,驗證表單中的數(shù)據(jù)項  end 
------------------------------------------------------------------------------- 
*/ 
/* 
用途:檢查輸入字符串是否是帶小數(shù)的數(shù)字格式,可以是負數(shù)(并且滿足規(guī)定的精度) 
輸入:str:字符串 
l:總位數(shù) 
d:小數(shù)點后位數(shù) 
返回: 
如果通過驗證返回true,否則返回false 
*/ 
function isDecimal( str,l,d ){   
if(isInteger(str)) { 
if (l==null)  return true; 
if (str<0) l--; 
if (str.length<=l) return true; 

var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/; 
if (re.test(str)) { 
if (l==null)  return true; 
if (d==null) d=0; 
if(RegExp.$1==0&&RegExp.$2==0) return false; 
if (RegExp.$1.length+RegExp.$2.length<=l 
&& RegExp.$2.length<=d)  return true; 

return false; 

onclick="isNull('Co.PageForm.CompetitorName');" 
Co--指本頁面   PageForm--指formName  CompetitorName---指的是文本欄名 

相關文章

  • JavaScript函數(shù)執(zhí)行、作用域鏈以及內(nèi)存管理詳解

    JavaScript函數(shù)執(zhí)行、作用域鏈以及內(nèi)存管理詳解

    這篇文章主要介紹了JavaScript函數(shù)執(zhí)行、作用域鏈以及內(nèi)存管理的知識,文章內(nèi)容非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • 前端必備插件之純原生JS的瀑布流插件Macy.js

    前端必備插件之純原生JS的瀑布流插件Macy.js

    這篇文章主要介紹了前端必備插件之純原生JS的瀑布流插件Macy.js,一款非常輕量級的純原生JS的瀑布流插件,有興趣的可以了解一下
    2017-11-11
  • 原生js實現(xiàn)商品篩選功能

    原生js實現(xiàn)商品篩選功能

    這篇文章主要為大家詳細介紹了原生js實現(xiàn)商品篩選,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • JavaScript中判斷整字類型最簡潔的實現(xiàn)方法

    JavaScript中判斷整字類型最簡潔的實現(xiàn)方法

    這篇文章主要介紹了JavaScript中判斷整字類型最簡潔的實現(xiàn)方法,本文給出多個判斷整數(shù)的方法,最后總結(jié)出一個最短、最簡潔的實現(xiàn)方法,需要的朋友可以參考下
    2014-11-11
  • js將字符轉(zhuǎn)換為UTF-8字符的工具

    js將字符轉(zhuǎn)換為UTF-8字符的工具

    在下面的文本框中輸入中文文字,按“轉(zhuǎn)化”,即可將其轉(zhuǎn)化為UTF-8字符。
    2010-06-06
  • js前端導出Excel的方法

    js前端導出Excel的方法

    這篇文章主要為大家詳細介紹了js前端導出Excel的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • js實現(xiàn)點擊生成隨機div

    js實現(xiàn)點擊生成隨機div

    這篇文章主要為大家詳細介紹了js實現(xiàn)點擊生成隨機div,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • 詳解js中call與apply關鍵字的作用

    詳解js中call與apply關鍵字的作用

    本文主要介紹js中call與apply關鍵字的作用以及它們的用法,具體實例如下,希望對大家有所幫助
    2016-11-11
  • js中this的指向問題歸納總結(jié)

    js中this的指向問題歸納總結(jié)

    最近發(fā)現(xiàn)在對JS的學習中有很多朋友對this的指向問題還是有很大的誤區(qū)或者說只是大致了解,但是一旦遇到復雜的情況就會因為this指向問題而引發(fā)各種bug。所以這篇文章主要給大家介紹了關于js中this的指向問題的相關資料,需要的朋友可以參考下
    2018-11-11
  • echarts折線圖流動特效的實現(xiàn)全過程(非平滑曲線)

    echarts折線圖流動特效的實現(xiàn)全過程(非平滑曲線)

    最近因為公司業(yè)務需求,需要實現(xiàn),當Echarts重新加載數(shù)據(jù)時實現(xiàn)動態(tài)效果,下面這篇文章主要給大家介紹了關于echarts折線圖流動特效實現(xiàn)的相關資料,需要的朋友可以參考下
    2023-03-03

最新評論