JavaScript常用檢測指令碼(二)

來源:互聯網
上載者:User
/**
 * 用途:檢查輸入字串是否只由英文字母和數字和底線組成
 * 輸入: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;
}

/**
 * 用途:檢查輸入字串是否只由漢字、字母、數字組成
 * 輸入:value, 字串
 * 返回:如果通過驗證返回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;
}
 
/**
 * 用途:擷取每月的最後一天日期值.
 * 輸入:date:年份;month:月份
 * 返回:如果通過驗證返回true,否則返回false
 */
function getMaxDay(year,month) {
    if(month==4||month==6||month==9||month==11)
        return "30";
    if(month==2)
        if(year%4==0&&year%100!=0 || year%400==0)
            return "29";
        else
            return "28";
    return "31";
}

/**
 * 用途:字元1是否以字串2結束
 * 輸入:str1:字串;str2:被包含的字串
 * 返回:如果通過驗證返回true,否則返回false
 */
function isLastMatch(str1,str2){
    var index = str1.lastIndexOf(str2);
    if(str1.length==index+str2.length) return true;
    return false;
}

/**
 * 用途:字元1是否以字串2開始
 * 輸入:str1:字串;str2:被包含的字串
 * 返回:如果通過驗證返回true,否則返回false
 */
function isFirstMatch(str1,str2){
    var index = str1.indexOf(str2);
    if(index==0) return true;
    return false;
}

/**
 * 用途:字元1是包含字串2
 * 輸入:str1:字串;str2:被包含的字串
 * 返回:如果通過驗證返回true,否則返回false
 */
function isMatch(str1,str2){
    var index = str1.indexOf(str2);
    if(index==-1) return false;
    return true;
}

/**
 * 用途:檢查輸入的起止日期是否正確,規則為兩個日期的格式正確,且結束如期>=起始日期
 * 輸入:startDate:起始日期(字串),   endDate:結束如期(字串)
 * 返回:如果通過驗證返回true,否則返回false
 */
function checkTwoDate( startDate,endDate ) {
    if( !isDate(startDate) ) {
        alert("起始日期不正確!");
        return false;
    } else if( !isDate(endDate) ) {
        alert("終止日期不正確!");
        return false;
    } else if( startDate > endDate ) {
        alert("起始日期不能大於終止日期!");
        return false;
    }
    return true;
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.