Javascript String 包

提供一个 JS String 包,包含了一些常用的对字符串操作的函数,详细的请看源码及演示:

/**

 * jscript.string package

 * This package contains utility functions for working with strings.

 */

if (typeof jscript == 'undefined') {

  jscript = function() { }

}

jscript.string = function() { }



/**

 * This function searches a string for another string and returns a count

 * of how many times the second string appears in the first.

 *(返回字符串中某子串出现的次数)

 * @param  inStr       The string to be searched.

 * @param  inSearchStr The string to search for.

 * @return             The number of times inSearchStr appears in inStr,

 *                     or 0 if inStr or inSearchStr is null or a blank string.

 */

jscript.string.substrCount = function(inStr, inSearchStr) {



  if (inStr == null || inStr == "" ||

    inSearchStr == null || inSearchStr == "") {

    return 0;

  }

  var splitChars = inStr.split(inSearchStr);

  return splitChars.length - 1;



} // End substrCount().



/**

 * This function will take take an input string and either strip any

 * character that appears in a given list of characters, or will strip any

 * character that does NOT appear in a given list of characters.

 *(此函数用来屏蔽或者保留 "inCharList" 中的字符,取决于参数 "inStripOrAllow")

 * @param  inStr          The string to strip characters.

 * @param  inStripOrAllow Either the value "strip" or "allow".

 * @param  inCharList     This is either (a) the list of characters that

 *                        will be stripped from inStr (when inStripOrAllow ==

 *                        "strip"), or (b) the list of characters that will

 *                        NOT be stripped from inStr (when inStripOrAllow ==

                          "allow".

 * @return                The value of inStr after characters have been

 *                        stripped as specified.

 */

jscript.string.stripChars = function(inStr, inStripOrAllow, inCharList) {



  if (inStr == null || inStr == "" ||

    inCharList == null || inCharList == "" ||

    inStripOrAllow == null || inStripOrAllow == "") {

     return "";

  }

  inStripOrAllow = inStripOrAllow.toLowerCase();

  var outStr = "";

  var i;

  var j;

  var nextChar;

  var keepChar;

  for (i = 0; i < inStr.length; i++) {

    nextChar = inStr.substr(i, 1);

    if (inStripOrAllow == "allow") {

      keepChar = false;

    } else {

      keepChar = true;

    }

    for (j = 0; j < inCharList.length; j++) {

      checkChar = inCharList.substr(j, 1);

      if (inStripOrAllow == "allow" && nextChar == checkChar) {

        keepChar = true;

      }

      if (inStripOrAllow == "strip" && nextChar == checkChar) {

        keepChar = false;

      }

    }

    if (keepChar == true) {

      outStr = outStr + nextChar;

    }

  }

  return outStr;



} // End stripChars().



/**

 * This function can check is a given string either only contains characters

 * from a list, or does not contain any characters from a given list.

 *(此函数用来判断 inString 是否为 inCharList 中的字符,或者进行相反的判断,取决于参数 inFromExcept)

 * @param  inString    The string to validate.

 * @param  inCharList  A list of characters that is either (a) the only

 *                     characters allowed in inString (when inFromExcept

 *                     is == "from_list") or (b) the only characters that

 *                     cannot appear in inString (when inFromExcept is

 *                     == "not_from_list").

 * @param inFromExcept When this is "from_list", then inString may only

 *                     contain characters from inCharList.  When this is

 *                     "not_from_list", then inString can contain any character

 *                     except thos in inCharList.

 * @return             True if inString only contains valid characters,

 *                     as listed in inCharList when inFromExcept ==

 *                     "from_list", false if not, or true if inString does

 *                     not containt any of the characters listed in

 *                     inCharList when inFromExcept == "not_from_list".

 */

jscript.string.strContentValid = function(inString, inCharList, inFromExcept) {



  if (inString == null || inCharList == null || inFromExcept == null ||

    inString == "" || inCharList == "") {

    return false;

  }

  inFromExcept = inFromExcept.toLowerCase();

  var i;

  if (inFromExcept == "from_list") {

    for (i = 0; i < inString.length; i++) {

      if (inCharList.indexOf(inString.charAt(i)) == -1) {

        return false;

      }

    }

    return true;

  }

  if (inFromExcept == "not_from_list") {

    for (i = 0; i < inString.length; i++) {

      if (inCharList.indexOf(inString.charAt(i)) != -1) {

        return false;

      }

    }

    return true;

  }



} // End strContentValid().



/**

 * This function replaces a given substring of a string (all occurances of

 * it to be more precise) with a specified new substring.  The substrings

 * can of course be single characters.

 *(此函数进行字符串的替换功能,将 inSrc 中的 inOld 全部替换为 inNew)

 * @param  inSrc The string to replace substring(s) in.

 * @param  inOld The substring to replace.

 * @param  inNew The new substring to insert.

 * @return       The value of inSrc with all occurances of inOld replaced

 *               with inNew.

 */

jscript.string.replace = function(inSrc, inOld, inNew) {



  if (inSrc == null || inSrc == "" || inOld == null || inOld == "" ||

    inNew == null || inNew == "") {

    return "";

  }

  while (inSrc.indexOf(inOld) > -1) {

    inSrc = inSrc.replace(inOld, inNew);

  }

  return inSrc;



} // End replace().



/**

 * Function to trim whitespace from the beginning of a string.

 *(从字符串的左面开始去除空白字符)

 * @param  inStr The string to trim.

 * @return       The trimmed string, or null if null or a blank string was

 *               passed in.

 */

jscript.string.leftTrim = function(inStr) {



  if (inStr == null || inStr == "") {

    return null;

  }

  var j;

  for (j = 0; inStr.charAt(j) == " "; j++) { }

  return inStr.substring(j, inStr.length);



} // End leftTrim().



/**

 * Function to trim whitespace from the end of a string.

 *(与上面的函数相对应,从字符串的右侧去除空白字符)

 * @param  inStr The string to trim.

 * @return       The trimmed string, or null if null or a blank string was

 *               passed in.

 */

jscript.string.rightTrim = function(inStr) {



  if (inStr == null || inStr == "") {

    return null;

  }

  var j;

  for (j = inStr.length - 1; inStr.charAt(j) == " "; j--) { }

  return inStr.substring(0, j + 1);



} // End rightTrim().



/**

 * Function to trim whitespace from both ends of a string.

 *

 * @param  inStr The string to trim.

 * @return       The trimmed string, or null if null or a blank string was

 *               passed in.

 */

jscript.string.fullTrim = function(inStr) {



  if (inStr == null || inStr == "") {

    return "";

  }

  inStr = this.leftTrim(inStr);

  inStr = this.rightTrim(inStr);

  return inStr;



} // End fullTrim().

演示区:

你可能感兴趣的:(JavaScript)