> 웹 프론트엔드 > JS 튜토리얼 > js 유효성 검사 양식 파트 2_javascript 기술

js 유효성 검사 양식 파트 2_javascript 기술

WBOY
풀어 주다: 2016-05-16 19:24:00
원래의
982명이 탐색했습니다.

설명: JavaScript 스크립트, 시작 양식의 데이터 항목을 확인합니다.
------------------ - ---------------------
*/
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( "선택 확인");
if(obj.options.length <= 0){
alert("드롭다운 선택 상자에 데이터가 없습니다!")
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 objStartDate;
//alert("시작 날짜 기간 확인"); 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); 종료 날짜 기간 확인");
}catch(E){}
return true;
}
function f_checkTextValid(obj){
//null일 수 없음
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("긍정적) ") >=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) false 반환;
기본값:
}
*/
true 반환
}
function f_isNotNull(obj){
if(obj. value == ""){
f_alert (obj, "Null 값은 허용되지 않습니다! ");
false를 반환;
}
true를 반환;
}
function f_isNumber(obj){
if(isNaN(obj.value)){
f_alert( obj,"숫자 유형이어야 합니다.");
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;

함수  f_alert(obj,alertStr){ 
var fielName = obj.getAttribute("fieldName"); 
if(fielName == null) 
fielName = ""; 
alert(fielName   " n"  AlertStr); 
obj.select(); 
obj.focus(); 

함수 f_checkNumType(obj, numType){ 
//假设: 已经进行数类型判断
var strTemp; 
var numpr; 
var strArr; 
var defaultpric = 5; 
시도 numType == null||  numType =="") return f_checkNumLenPrec(obj,defaultLen, defaultpric); 
if(numType.indexOf("(") < 0 || numType.indexOf(")") < 0 ) 반환 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] ); 
숫자 = Math.abs( strArr[1] ); 
f_checkNumLenPrec(obj,numLen,numric)을 반환합니다. 
}catch(e){ 
alert("in f_checkNumType = "   e); 
f_checkNumLenPrec(obj,defaultLen, defaultpric)을 반환합니다. 


함수 f_checkNumLenPrec(obj, len, pric){ 
var numReg; 
var 값 = obj.value; 
var strValueTemp, strInt, strDec; 
//alert(value   "====="   len   "====="  pric); 
시도해 보세요{ 

numReg =/[-]/; 
strValueTemp = value.replace(numReg, ""); 
strValueTemp = strValueTemp.replace(numReg, ""); 
//整数 
if(pric==0){ 
numReg =/[.]/; 
//alert(numReg.test(value)); 
if(numReg.test(value) == true){ 
f_alert(obj, "输入必须为整数类型!"); 
false를 반환합니다. 



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

if(strValueTemp.length >( len - pric)){ 
f_alert(obj, "整数位不能超过"  (len - pric)  "位"); 
false를 반환합니다. 

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

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

if(strInt.length >( len - pric)){ 
f_alert(obj, "整数位不能超过"  (len - pric)  "位"); 
false를 반환합니다. 


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

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

if(strDec.length > pric){ 
f_alert(obj, "小数位不能超过"   pric  "位"); 
false를 반환합니다. 



true를 반환합니다. 
}catch(e){ 
alert("in f_checkNumLenPrec = "   e); 
false를 반환합니다. 


function f_isPositive(obj){ 
var numReg =/[-]/; 
if(numReg.test(obj.value) == true){ 
f_alert(obj, "必须为正数!"); 
false를 반환합니다. 

true를 반환합니다. 
}

/*
function selectedCheckboxCount(form)
함수 설명: Form에서 선택한 옵션을 계산합니다.
매개변수 설명:
form: 지정된 폼
*/
function selectedCheckboxCount(form){
var length =0;
var i=0;
eles = form.elements
while(iobj= eles.item(i);//type = obj.attributes.item("type").nodeValue;
type = obj.type; = "checkbox"){
if(obj.checked){
count ;
}
}
i
}
반환 횟수; >//바이트 길이 가져오기
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
return n
}
/ *
지침:
1. 테이블에서 데이터(0.0 및 0)를 삭제합니다.
2. 셀에 데이터가 없으면 자동으로 공백이 추가됩니다.
3. 빈 행의
매개변수:
clearzero: "0" 지우기 여부, "0.0", 지우지 않으려면 false, 지우려면 true(기본값은 true)
tablename: 지울 테이블 이름 , 기본값은 sortTable
*/
functionclear_table(clearzero,tablename)
{
var tobject;
if(tablename==null)
tobject=gmobj("sortTable") ;
else
tobject= gmobj(tablename);
//테이블이 정의되지 않은 경우 필터링이 수행되지 않습니다.
if(tobject==null)
return; 🎜>//함수 호출 매개변수가 비어 있으면 0, 0.0을 지우려면 반대로 0, 0.0을 지우지 말라는 뜻입니다.
varclear = (clearzero==null)?true:clearzero;
//0, 0.0 지우기, 공백 채우기
varrows = tobject.rows
var j=0; 🎜> for(var i=0;i{
//첫 번째 셀의 속성을 가져옵니다. 1이면 행에 데이터가 없음을 의미합니다. 그런 다음 행의 모든 ​​데이터를 지웁니다.
while(tobject.rows[i].cells[j] != null)
{
if(clear)
{
if(tobject. 행[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) /* 객체 이름으로 객체 가져오기 */
{
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 스크립트, 양식 끝에서 데이터 항목 확인
---------------------------- -------------- ---------- ----
*/
/ *
목적: 입력 문자열이 십진수 형식인지 확인합니다. 십진수 형식은 음수가 될 수 있으며 지정된 정밀도를 충족합니다.
입력: str : 문자열
l: 총 자릿수
d: 소수점 이하 자릿수
반환:
검증에 성공하면 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; ) false를 반환합니다.
if (RegExp.$1.length RegExp.$2.length<= l
&& RegExp.$2.length<=d) return true;
}
false를 반환합니다. >}
onclick="isNull('Co.PageForm.CompetitorName');"
공동--이 페이지 참조 PageForm--formName CompetitorName 참조---텍스트 열 이름 참조

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿