//<![CDATA[

function ltrim(s) {
    return s.replace(/(\s*$)/g, "");
}

function rtrim(s) {
    return s.replace(/(^\s*)/g, "");
}

function trim(s) {
    return s.replace(/(^\s*)|(\s*$)/g, "");
}

function isBlank(s) {
    return s.replace(/^\s+|\s+$/g, "") === "";
}

function isUniComMobile(s) {
    return (/((^13[0-3]{1}[0-9]{8}$)|(^153[0-9]{8}$))/).test(s);
}

function isChinaMobile(s) {
    return (/((^13[4-9][0-9]{8}$)|(^159[0-9]{8}$))/).test(s);
}

function isChinaTelcom(s) {
    return (/^(0[1-9]{2,3}-?)?[0-9]{7,8}(-[0-9]{3,4})?$/).test(s);
}

function isPhs(s) {
    return (/^(0[1-9]{2,3}-?)?[0-9]{7,8}$/).test(s);
}

function isMobile(s) {
    return isUniComMobile(s) || isPhs(s) || isChinaMobile(s);
}

function isPositiveInteger(s) {
    return (/^[1-9]+\d*$/).test(s);
}

function isLogName(s) {
    return (/^([0-9]|[a-z]|[_]){4,20}$/).test(s);
}

function isFreeRegLogName(s) {
    return (/^[a-z]+([0-9]|[a-z]|[_]){3,19}$/).test(s);
}

function isPassword(s) {
    return (/^\w{4,16}$/).test(s);
}

function isChinaZipCode(s) {
    return (/^[1-9]\d{5}(?!\d)$/).test(s);
}

function isEmail(s) {
    return (/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/).test(s);
}

function isChinaID(s) {
    if (s.length == 15) {
        return (/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/).test(s);
    } else {
        if (s.length == 18) {
            return (/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/).test(s);
        }
    }
    return false;
}
function isNaturalNumber(str)
{
    return /^\d+$/.test(str);
}
//]]>

