js 常用方法大全1(转)

//-------常用js Function 
//------------start 已验证---------------//
//定义报错信息
var MSG_ERR001="$1不能为空!";
var MSG_ERR002="$1的文字格式为$2!";
var MSG_ERR003="$1不能超过$2个字节!";
var MSG_ERR004="不能删除$1!!";

/**
* alert : 弹出出错信息
* 引数 : sMsg 报错信息
*     sParam1 引数1
*     sParam2 引数2
*     sParam3 引数3
* 返回值 : 无
*/
function alertMSG(sMsg,sParam1,sParam2,sParam3) {
 //引数1的替换
 if ( sParam1 ) {
        sMsg = sMsg.replace( "$1", sParam1 );
    }
    //引数2的替换
    if ( sParam2 ) {
        sMsg = sMsg.replace( "$2", sParam2 );
    }
    //引数3的替换
    if ( sParam3 ) {
        sMsg = sMsg.replace( "$3", sParam3 );
    }
    //Message表示
    alert( sMsg );
}
/**
* cmConfirm:弹出确认信息
* 引数 : sMsg 报错信息
*     sParam1 引数1
*     sParam2 引数2
*     sParam3 引数3
* 返回值:true ok场合
*  false cancel场合
*/
function confirmMSG( sMsg, sParam1, sParam2, sParam3 ) {
 //引数1的替换
 if ( sParam1 ) {
        sMsg = sMsg.replace( "$1", sParam1 );
    }
    //引数2的替换
    if ( sParam2 ) {
        sMsg = sMsg.replace( "$2", sParam2 );
    }
    //引数3的替换
    if ( sParam3 ) {
        sMsg = sMsg.replace( "$3", sParam3 );
    }
    //Message表示
    return confirm(sMsg);
}

/**
* lTrim : 文字列左边空格去掉
* 引数 : oTarget 输入的文字列
* 返回值:返回去掉左边空格的文字列
*/
function lTrim(oTarget) {
 var oResult = oTarget.replace( /^ */, "" );
 return(oResult);
}

/**
* rTrim : 文字列右边空格去掉
* 引数 : oTarget 输入的文字列
* 返回值:返回去掉右边空格的文字列
*/
function rTrim(oTarget) {
 var oResult = oTarget.replace( / *$/, "" );
 return(oResult);
}

/**
* trim : 文字列左右两边空格去掉
* 引数 : oTarget 输入的文字列
* 返回值:返回去掉左右两边空格的文字列
*/
function trim(oTarget) {
 var oResult;
 //去左边空格
 oResult = lTrim(oTarget);
 //去右边空格
 oResult = rTrim(oTarget);
 return(oResult);
}
/**
* parseNum : format消除(数值)
* 引数 : sVal 输入的文字列
* 返回值:format消除后的值
*/
function parseNum( sVal ) {
 if( !sVal ) {
        return "";
    }
    var sResult = new String( sVal );
    sResult = sResult.replace(/^ *0*/,"")   //去掉左边空格
                     .replace(/ +$/,"")     //去掉右边空格
                     .replace(/^\\/,"")     //金额
                     .replace(/,/g,"")     //逗号
                     .replace(/\./g,"")     //小数点
                     .replace(/-/g,"");     //杠号
    if ( isNaN( sResult )){
        return "";
    }
    if ( sResult == "" ) {
        return "";
    }
    return eval( sResult );
}
/**
* chkInt : 整数的判断
* 引数 : oSrc 输入的文字列
*    sMode 标志:1 -> 减号可以输入; 2 -> 减号不可以输入 
* 返回值:true 整数
*       false 整数以外
*/
function chkInt( oSrc, sMode ) {
 var sVal = new String( oSrc );
    if ( sMode == 1 ) { 
        if ( sVal.match(/^([+-]?[0-9]{1,3}(,[0-9]{3})*)?$/) == null && 
             sVal.match(/^([+-]?[0-9]+)?$/) == null ) {
            return false;
        }
    } else { 
        if ( sVal.match(/^([0-9.]{1,3}(,[0-9.]{3})*)?$/) == null &&
             sVal.match(/^([0-9.]+)?$/) == null ) {
            return false;
        }
    }
    return true;
}
/**
* isDigit : 半角数字的判断
* 引数 : oSrc 输入的文字列
* 返回值:true 半角数字
*       false 半角数字以外
*/
function isDigit( oSrc ) {
    var sVal = new String( oSrc );
    if ( sVal != "" ) {
        if ( sVal.match(/^[0-9]+$/) == null ) {
            return false;
        }
    }
    return true;
}

/**
* isDigOrAlp : 半角英数字的判断
* 引数 : oSrc 输入的文字列
* 返回值:true 半角英数字
*       false 半角英数字以外
*/
function isDigOrAlp( oSrc ) {
    var sVal = new String( oSrc );
    if ( sVal != "" ) {
        if ( sVal.match(/^[0-9A-Za-z]+$/) == null ) {
            return false;
        }
    }
    return true;
}

/**
* isZenkaku : 全角文字列的判断
* 引数 : sVal 输入的文字列
* 返回值:true 全角文字列
*       false 全角文字列以外
*/
function isZenkaku( sVal ) {
    var iCode;
 for (var i = 0; i<sVal.length; i++) {
  iCode = sVal.charCodeAt (i);
  if ((iCode < 127 && iCode != 13 && iCode != 10) || (iCode >= 0xff61 && iCode <= 0xff9f)){
   return false;
  }
 }
 return true;
}
/**
* isHankaku : 半角文字列的判断
* 引数 : sVal 输入的文字列
* 返回值:true 半角文字列
*       false 半角文字列以外
*/
function isHankaku( sVal ) {
    var iLen = cmGetEBCDICLen( sVal );
    if ( iLen == sVal.length ) {
        return true;
    } else {
        return false;
    }
}

/**
* getEBCDICLen : 文字列的byte数取得
* 引数 : oSrc 输入的文字列
* 返回值:文字列的byte数
*/
function getEBCDICLen( sVal ) {
    var iLen = 0;
    for ( var i = 0; i < sVal.length;i++) {
        var sChar = sVal.charAt( i );
        if ( escape( sChar ).length > 3 ) { 
            if ( sChar.charCodeAt( 0 ) >= 65382 && 
                 sChar.charCodeAt( 0 ) <= 65439 ) {
                iLen += 2;
            } else {
                iLen += 2; 
            }
        } else {    
            iLen += 1;
        }
    }
    return iLen;
}
/**
* checkMailAddress : mail的判断
* 引数 : sVal 输入的文字列
* 返回值:true 正常
  false 异常
*/
function checkMailAddress(sVal)
{ 
 for(var i=0;i<sVal.length;i++){
  var ascii = sVal.charCodeAt(i);
  //'<':60,'>':62,'{':123,'}':125,':':58,';':59,'"':34,'\':92,'[':91,']':93
  if(ascii == 60 || ascii == 62 || ascii == 123 
   || ascii == 125 || ascii == 58 || ascii == 59 
   || ascii == 34 || ascii == 92 || ascii == 91 
   || ascii == 93){
            return false;
  }
  if(ascii<0 || ascii>255){
   return false;
  }
 }
 var aVal = new Array();
 aVal = sVal.split("@");
 if(aVal.length != 2){
  return false;
 }else{
  if(aVal[0] == "" || aVal[1] == ""){
   return false;
  }
 }
 return true;
}
/**
* checkFieldValue : 输入值的判断
* 引数 : pFrame frame名
  pForm form名
  pField field名
  pHissu 必须(1:必须)
  pLenMin 行数(n:min行数)
  pLenMax 行数(n:max行数)
  pAttr 属性('':全部文字,CN_AL:半角英数字....)
  pNm 项目名
  pFieldFocus 出错时光标位置
  pIndex 复数项目index
* 返回值:true 正常
  false 异常
*/
function checkFieldValue(pFrame, pForm, pField, pHissu, pLenMin, pLenMax, pAttr, pNm, pFieldFocus, pIndex)
{
  with (window.top.frames[pFrame].document.forms[pForm])
  {
    var wData = '';
    if (elements[pField].length){
        wData = elements[pField][pIndex].value;
    } else{
        wData = elements[pField].value;
    }
 //textarea的场合,去掉换行符
 if (elements[pField].type == "textarea") {
  wData = wData.replace(/\r\n/g,"");
 }
    //文件名开头去掉路径
    if (pAttr == "FILE" && wData != ""){
      //去掉'\'
      if (wData.match(/^[\\]+$/) == null ) {
        var wDataArr = wData.split("\\");
        if (wDataArr.length > 1){
          wData = wDataArr[wDataArr.length-1];
        }
      }
    }
    var iLen  = getEBCDICLen(wData);
    //必须项check
    if (pHissu == 1) {
      if (!iLen){
        cmAlert(MSG_ERR001, pNm);
        elements[pFieldFocus].focus();
        return(false);
      }
    }
 if (pLenMax != 0) {
      if (iLen > pLenMax) {
          alertMSG(MSG_ERR003, pNm, pLenMax);
          elements[pFieldFocus].focus();
          return(false);
      }
    }
    //属性check
    if (pAttr == "CN_AL"){
        if (!isDigOrAlp(wData)) {
            alertMSG(MSG_ERR002, pNm, "半角英数字");
            elements[pFieldFocus].focus();
            return(false);
        }
    }else if (pAttr == "CN"){
        if (!isDigit(wData)) {
            alertMSG(MSG_ERR002, pNm, "半角数字");
            elements[pFieldFocus].focus();
            return(false);
        }
    }else if(pAttr == "KJ"){
  if(!isZenkaku(wData)){
   alertMSG(MSG_ERR002, pNm, "全角文字");
            elements[pFieldFocus].focus();
            return(false);
  }
 }else if(pAttr == "MAL2"){
  if(!checkMailAddress(wData)){
   alertMSG(MSG_ERR002, pNm, "邮件地址");
            elements[pFieldFocus].focus();
            return(false);
  }
 }
    return(true);
 }
}
function   isDate(str){   
if(!str.match(/^\d{4}\-\d\d?\-\d\d?$/)){return   false;}   
var   ar=str.replace(/\-0/g,"-").split("-");   
ar=new   Array(parseInt(ar[0]),parseInt(ar[1])-1,parseInt(ar[2]));   
var   d=new   Date(ar[0],ar[1],ar[2]);   
return   d.getFullYear()==ar[0]   &&   d.getMonth()==ar[1]   &&   d.getDate()==ar[2];   
} 

//左边去空白
function testLtrim(sValue) { 
for (var i=0; i<=sValue.length; i++ ) { 
if(sValue.substring(i,i+1)!=" ") 
break; 
} 
return sValue.substring(i,sValue.length); 
} 

// 右邊去空白 
function testRtrim(sValue) { 
for (var i=sValue.length; i>=0; i-- ) { 
if(sValue.substring(i-1,i)!=" ") 
break; 
} 
return sValue.substring(0, i); 
} 

// 左右邊去空白 
function testAllTrim(sValue) { 
return testRtrim(testLtrim(sValue)); 
}


//------------end 已验证---------------//

 

//------------start 未验证---------------//
    
    //判断输入内容是否为空    
    function IsNull(){    
        var str = document.getElementById('str').value.trim();    
        if(str.length==0){    
            alert('对不起,文本框不能为空或者为空格!');//请将“文本框”改成你需要验证的属性名称!    
        }    
    }    
       
    //判断日期类型是否为YYYY-MM-DD格式的类型    
    function IsDate(){     
        var str = document.getElementById('str').value.trim();    
        if(str.length!=0){    
            var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;     
            var r = str.match(reg);     
            if(r==null)    
                alert('对不起,您输入的日期格式不正确!'); //请将“日期”改成你需要验证的属性名称!    
            }    
    }     
       
    //判断日期类型是否为YYYY-MM-DD hh:mm:ss格式的类型    
    function IsDateTime(){     
        var str = document.getElementById('str').value.trim();    
        if(str.length!=0){    
            var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;     
            var r = str.match(reg);     
            if(r==null)    
            alert('对不起,您输入的日期格式不正确!'); //请将“日期”改成你需要验证的属性名称!    
        }    
    }     
       
    //判断日期类型是否为hh:mm:ss格式的类型    
    function IsTime()     
    {     
        var str = document.getElementById('str').value.trim();    
        if(str.length!=0){    
        reg=/^((20|21|22|23|[0-1]\d)\:[0-5][0-9])(\:[0-5][0-9])?$/     
            if(!reg.test(str)){    
                alert("对不起,您输入的日期格式不正确!");//请将“日期”改成你需要验证的属性名称!    
            }    
        }    
    }     
       
    //判断输入的字符是否为英文字母    
    function IsLetter()     
    {     
            var str = document.getElementById('str').value.trim();    
            if(str.length!=0){    
            reg=/^[a-zA-Z]+$/;     
            if(!reg.test(str)){    
                alert("对不起,您输入的英文字母类型格式不正确!");//请将“英文字母类型”改成你需要验证的属性名称!    
            }    
            }    
    }     
       
    //判断输入的字符是否为整数    
    function IsInteger()     
    {       
            var str = document.getElementById('str').value.trim();    
            if(str.length!=0){    
            reg=/^[-+]?\d*$/;     
            if(!reg.test(str)){    
                alert("对不起,您输入的整数类型格式不正确!");//请将“整数类型”要换成你要验证的那个属性名称!    
            }    
            }    
    }     
       
    //判断输入的字符是否为双精度    
    function IsDouble(val)     
    {     
            var str = document.getElementById('str').value.trim();    
            if(str.length!=0){    
            reg=/^[-\+]?\d+(\.\d+)?$/;    
            if(!reg.test(str)){    
                alert("对不起,您输入的双精度类型格式不正确!");//请将“双精度类型”要换成你要验证的那个属性名称!    
            }    
            }    
    }     
       
       
    //判断输入的字符是否为:a-z,A-Z,0-9    
    function IsString()     
    {     
            var str = document.getElementById('str').value.trim();    
            if(str.length!=0){    
            reg=/^[a-zA-Z0-9_]+$/;     
            if(!reg.test(str)){    
                alert("对不起,您输入的字符串类型格式不正确!");//请将“字符串类型”要换成你要验证的那个属性名称!    
            }    
            }    
    }     
       
    //判断输入的字符是否为中文    
    function IsChinese()     
    {     
            var str = document.getElementById('str').value.trim();    
            if(str.length!=0){    
            reg=/^[\u0391-\uFFE5]+$/;    
            if(!reg.test(str)){    
                alert("对不起,您输入的字符串类型格式不正确!");//请将“字符串类型”要换成你要验证的那个属性名称!    
            }    
            }    
    }     
       
    //判断输入的EMAIL格式是否正确    
    function IsEmail()     
    {     
            var str = document.getElementById('str').value.trim();    
            if(str.length!=0){    
            reg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;    
            if(!reg.test(str)){    
                alert("对不起,您输入的字符串类型格式不正确!");//请将“字符串类型”要换成你要验证的那个属性名称!    
            }    
            }    
    }     
       
    //判断输入的邮编(只能为六位)是否正确    
    function IsZIP()     
    {     
            var str = document.getElementById('str').value.trim();    
            if(str.length!=0){    
            reg=/^\d{6}$/;    
            if(!reg.test(str)){    
                alert("对不起,您输入的字符串类型格式不正确!");//请将“字符串类型”要换成你要验证的那个属性名称!    
            }    
            }    
    }     
       
    //判断输入的数字不大于某个特定的数字    
    function MaxValue()     
    {     
        var val = document.getElementById('str').value.trim();    
            if(str.length!=0){    
            reg=/^[-+]?\d*$/;     
            if(!reg.test(str)){//判断是否为数字类型    
                if(val>parseInt('123')) //“123”为自己设定的最大值    
                {     
                    alert('对不起,您输入的数字超出范围');//请将“数字”改成你要验证的那个属性名称!    
                }     
            }    
        }    
    }     
       
       
     Phone : /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/    
     Mobile : /^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$/    
     Url : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/   
     IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/   
     QQ : /^[1-9]\d{4,8}$/   
      
    //为上面提供各个JS验证方法提供.trim()属性   
    String.prototype.trim=function(){   
            return this.replace(/(^\s*)|(\s*$)/g, "");    
        }   
     
    
    [input type="text" name="str" ]    
    [input type="button" value=" 确定 " onClick=""]//onClick中写自己要调用的JS验证函数    
    
//------------start 未验证---------------//

    
//-------End 常用js Function 

posted @ 2011-05-26 10:59  polymorphic  阅读(268)  评论(0编辑  收藏  举报