﻿///字符串处理类

function StringHelper() { }

///字符值去空格
StringHelper.trim = function(s) {
    s += "";
    return s.replace(/^\s+|\s+$/g, '');
};

///字符值开始去空格
StringHelper.ltrim = function(s) {
  var pattern = new RegExp("^[\\s]+", "gi");
  return str.replace(pattern, "");
};

///字符值结尾去空格
StringHelper.rtrim = function(s) {
   var pattern = new RegExp("[\\s]+$", "gi");
   return str.replace(pattern, "");
};

///验证是否为整数
StringHelper.isInt = function(s) {
    return new RegExp(/^(0|[1-9][0-9]*)$/).test(this.trim(s));
};

StringHelper.isCleanString = function(s) {
    return new RegExp(/^[A-Za-z0-9_]+$/).test(this.trim(s));
};

///验证是否为Email地址
StringHelper.isEmail = function(s) {
    return new RegExp(/^(\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)$/).test(this.trim(s));
};

///验证是否为空
StringHelper.isEmpty = function(s) {
    return this.trim(s).length == 0;
};

///验证是否为URL地址
StringHelper.queryString = function(item) {
    var sValue = location.search.match(new RegExp("[\?\&]" + item + "=([^\&]*)(\&?)", "i"));
    return sValue ? sValue[1] : sValue;
};

StringHelper.buildFlatXmlString = function(rootName, arrNames, arrValues) {
    var returnVal = ("<" + rootName + ">");
    for (var i = 0; i < arrNames.length; i++) {
        returnVal += ("<" + arrNames[i] + ">");
        if (arrValues[i] != null) returnVal += this.encodeXml(arrValues[i]);
        returnVal += ("</" + arrNames[i] + ">");
    }
    returnVal += ("</" + rootName + ">");
    return returnVal;
};

StringHelper.encodeXml = function(s) {
    s = s.replace(/\x26/g, "&#38;");     //&
    s = s.replace(/\x3c/g, "&#60;");     //<
    s = s.replace(/\x3e/g, "&#62;");     //>
    s = s.replace(/\x22/g, "&#34;");     //"
    s = s.replace(/\x27/g, "&#39;");     //'
    return s;
};

//校验普通电话、手机、传真号码：可以“+”开头，除数字外，可含有“-”
StringHelper.isTel = function(s) {
    var patrn = /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
    if (!patrn.exec(s))
        return false;
    return true;
};

///验证是否为邮编地址
StringHelper.isPostalCode = function(s) {
    var patrn = /^[0-9 ]{6}$/;
    if (!patrn.exec(s))
        return false;
    return true;
};

///验证是否为电话区号
StringHelper.isAreaCode = function(s) {
    var patrn = /^[0-9 ]{3,4}$/;
    if (!patrn.exec(s))
        return false;
    return true;
};

///验证是否为正确的QQ号码
StringHelper.isQQCode = function(s) {
    var patrn = /^[0-9 ]{5,20}$/;
    if (!patrn.exec(s))
        return false;
    return true;
};

///验证需要用逗号分隔的内容中是否存在非法分隔符，如分号或坚隔号等
StringHelper.isCommaSplit = function(s) {
    var patrn = /^[0-9-,]+$/;
    if (!patrn.exec(s))
        return false;
    else
        return true;
};
