
function trim(s){
    return rtrim(ltrim(s));
}
function ltrim(s){
    return s.replace(/^\s*/, "");
}
function rtrim(s){
    return s.replace(/\s*$/, "");
}
function HTML(text){
    text = text.replace(/&/g, "&");
    
    text = text.replace(/</g, "<");
    text = text.replace(/>/g, ">");
    text = text.replace(/'/g, "’");
    return text;
}
function ReHTML(text){
    text = text.replace(/&/g, "&");
    
    
    text = text.replace(/>/g, ">");
    text = text.replace(/’/g, "'");
    return text;
}
function byteLength(sStr){
    aMatch = sStr.match(/[^\x00-\x80]/g);
    return (sStr.length + (!aMatch ? 0 : aMatch.length));
}
function isEmpty(s){
    s = trim(s);
    return s.length == 0;
}
function isEmail(s){
    s = trim(s);
    var p = /^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.){1,4}[a-z]{2,3}$/i;
    return p.test(s);
}
function isNumber(s){
    return !isNaN(s);
}
function isColor(s){
    s = trim(s);
    if (s.length != 7) 
        return false;
    return s.search(/\#[a-fA-F0-9]{6}/) != -1;
}
function isCard(s){
    s = trim(s);
    var p = /^\d{15}(\d{2}[xX0-9])?$/;
    return p.test(s);
}
function isURL(s){
    s = trim(s).toLowerCase();
    var p = /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
    return p.test(s);
}
function isPhone(s){
    s = trim(s);
    var p = /^[0-9]{2,3}-[0-9]{3,4}-[0-9]{7,8}$/;
    return p.test(s);
}
function isZip(s){
    s = trim(s);
    var p = /^[1-9]\d{5}$/;
    return p.test(s);
}
function isDouble(s){
    s = trim(s);
    var p = /^[-\+]?\d+(\.\d+)?$/;
    return p.test(s);
}
function isInteger(s){
    s = trim(s);
    var p = /^[-\+]?\d+$/;
    return p.test(s);
}
function isEnglish(s){
    s = trim(s);
    var p = /^[A-Za-z]+$/;
    return p.test(s);
}
function isChinese(s){
    s = trim(s);
    var p = /^[\u0391-\uFFE5]+$/;
    return p.test(s);
}
function isDoubleChar(s){
    var p = /^[^\x00-\xff]+$/;
    return p.test(s);
}
function hasChineseChar(s){
    var p = /[^\x00-\xff]/;
    return p.test(s);
}
function hasAccountChar(s){
    var p = /^[a-zA-Z0-9][a-zA-Z0-9_-]{0,15}$/;
    return p.test(s);
}
function limitLen(s, Min, Max){
    s = trim(s);
    if (s == "") 
        return false;
    if ((s.length < Min) || (s.length > Max)) 
        return false;
    else 
        return true;
}
function isDigit(s){
    var patrn = /^[0-9]{1,20}$/;
    if (!patrn.exec(s)) 
        return false
    return true
}
function isRegisterUserName(s){
    var patrn = /^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
    if (!patrn.exec(s)) 
        return false
    return true
}
function isTrueName(s){
    var patrn = /^[a-zA-Z]{1,30}$/;
    if (!patrn.exec(s)) 
        return false
    return true
}
function isPasswd(s){
    var patrn = /^(\w){6,20}$/;
    if (!patrn.exec(s)) 
        return false
    return true
}
function isTel(s){
    
    var patrn = /^[+]{0,1}(\d){1,3}[   ]?([-]?((\d)|[   ]){1,12})+$/;
    if (!patrn.exec(s)) 
        return false
    return true
}
function isMobil(s){
    var patrn = /^[+]{0,1}(\d){1,3}[   ]?([-]?((\d)|[   ]){1,12})+$/;
    if (!patrn.exec(s)) 
        return false
    return true
}
function isPostalCode(s){
    
    var patrn = /^[a-zA-Z0-9]{3,12}$/;
    if (!patrn.exec(s)) 
        return false
    return true
}
