日期:2014-05-16  浏览次数:20466 次

Javascript数据验证类
/*  
用途:检查输入字符串是否符合金额格式,格式定义为带小数的正数,小数点后最多三位  
输入:s:字符串  
返回:如果通过验证返回true,否则返回false  
*/
function isMoney( s ) 
{ 
    var regu = "^[0-9]+[\.][0-9]{0,3}$"; 
    var re = new RegExp(regu); 
    if (re.test(s)) { 
        return true; 
    } 
    else { 
        return false; 
    } 
}; 
  
/*  
用途:检查输入字符串是否只由英文字母和数字和下划线组成  
输入:s:字符串  
返回:如果通过验证返回true,否则返回false  
*/
function isNumberOr_Letter( s ) 
{ 
    //判断是否是数字或字母  
    var regu = "^[0-9a-zA-Z\_]+$"; 
    var re = new RegExp(regu); 
    if (re.test(s)) { 
        return true; 
    } 
    else { 
        return false; 
    } 
}; 

/*  
用途:检查输入字符串是否只由英文字母和数字组成  
输入:s:字符串  
返回:如果通过验证返回true,否则返回false  
*/
function isNumberOrLetter( s ) 
{ 
    //判断是否是数字或字母  
    var regu = "^[0-9a-zA-Z]+$"; 
    var re = new RegExp(regu); 
    if (re.test(s)) { 
        return true; 
    } 
    else { 
        return false; 
    } 
}; 
  
/*  
用途:检查输入字符串是否只由汉字、字母、数字组成  
输入:s:字符串  
返回:如果通过验证返回true,否则返回false  
*/
function isChinaOrNumbOrLett( s ) 
{ 
    //判断是否是汉字、字母、数字组成  
    var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$"; 
    var re = new RegExp(regu); 
    if (re.test(s)) { 
        return true; 
    } 
    else { 
        return false; 
    } 
}; 
  
/*  
用途:判断是否是日期  
输入:date:日期;fmt:日期格式  
返回:如果通过验证返回true,否则返回false  
*/
function isDate( date, fmt )  
{ 
    if (fmt == null) { 
        fmt = "yyyyMMdd"; 
    } 
    var yIndex = fmt.indexOf("yyyy"); 
    if (yIndex ==- 1) { 
        return false; 
    } 
    var year = date.substring(yIndex, yIndex + 4); 
    var mIndex = fmt.indexOf("MM"); 
    if (mIndex ==- 1) { 
        return false; 
    } 
    var month = date.substring(mIndex, mIndex + 2); 
    var dIndex = fmt.indexOf("dd"); 
    if (dIndex ==- 1) { 
        return false; 
    } 
    var day = date.substring(dIndex, dIndex + 2); 
    if (!isNumber(year) || year > "2100" || year < "1900") { 
        return false; 
    } 
    if (!isNumber(month) || month > "12" || month < "01") { 
        return false; 
    } 
    if (day > getMaxDay(year, month) || day < "01") { 
        return false; 
    } 
    return true; 
}; 



/**
* 检查输入的一串字符是否全部是数字
* 输入:str  字符串
* 返回:true 或 flase; true表示为数字
*/
function checkNum(str) {
    return str.match(/\D/) == null;
}

/**
* 检查输入的一串字符是否为小数
* 输入:str  字符串
* 返回:true 或 flase; true表示为小数
*/
function checkDecimal(str) {
    if (str.match(/^-?\d+(\.\d+)?$/g) == null) {
        return false;
    }
    else {
        return true;
    }
}

/**
* 检查输入的一串字符是否为整型数据
* 输入:str  字符串
* 返回:true 或 flase; true表示为小数
*/
function checkInteger(str) {
    if (str.match(/^[-+]?\d*$/) == null) {
        return false;
    }
    else {
        return true;
    }
}

/**
* 检查输入的一串字符是否是字符
* 输入:str  字符串
* 返回:true 或 flase; true表示为全部为字符 不包含汉字
*/
function checkStr(str) {
    if (/[^\x00-\xff]/g.test(str)) {
        return false;
    }
    else {
        return true;
    }
}

/**
* 检查输入的一串字符是否包含汉字
* 输入:str  字符串
* 返回:true 或 flase; true表示包含汉字
*/
function checkChinese(str) {
    if (escape(str).indexOf("%u") != -1) {
        return true;
    }
    else {
        return false;
    }
}

/**
* 检查输入的邮箱格式是否正确
* 输入:str  字符串
* 返回:true 或 flase; true表示格式正确
*/
function checkEmail(str) {
    if (str.match(/[A-Za-z0-9_-]+[@](\S*)(net|com|cn|org|cc|tv|[0-9]{1,3})(\S*)/g) == null) {
        return false;
    }
    else {
        return true;
    }
}

/**
* 检查输入的手机号码格式是否正确
* 输入:str  字符串
* 返回:true 或 flase; true表示格式正确
*/
function checkMobilePhone(str) {
    if (str.match(/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/) == null) {
        return false;
    }
    else {
        return true;
    }
}

/**
* 检查输入的固定电话号码是否正确
* 输入:str  字符串
* 返回:true 或 flase; true表示格式正确
*/
function checkTelephone(str) {
    if (str.match(/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/) == null) {
        return false;
    }
    else {