JS字符串函数扩展代码

复制代码 代码如下:

  /****************************************************

  *CreateBy:joe zhou

  *CreateDate:2011-9-4

  *Description:字符串辅助函数

  ****************************************************/

  //String.prototype = {

  // caption: function () {

  // },

  // leftPad: function (padChar, width) {

  // if (this.length >= width) {

  // return this;

  // }

  // }

  //};

  String.prototype.padLeft = function (padChar, width) {

  var ret = this;

  while (ret.length < width) {

  if (ret.length + padChar.length < width) {

  ret = padChar + ret;

  }

  else {

  ret = padChar.substring(0, width-ret.length) + ret;

  }

  }

  return ret;

  };

  String.prototype.padRight = function (padChar, width) {

  var ret = this;

  while (ret.length < width) {

  if (ret.length + padChar.length < width) {

  ret += padChar;

  }

  else {

  ret += padChar.substring(0, width - ret.length);

  }

  }

  return ret;

  };

  String.prototype.trim = function () {

  return this.replace(/^\s+/, '').replace(/\s+$/, '');

  };

  String.prototype.trimLeft = function () {

  return this.replace(/^\s+/, '');

  };

  String.prototype.trimRight = function () {

  return this.replace(/\s+$/, '');

  };

  String.prototype.caption = function () {

  if (this) {

  return this.charAt(0).toUpperCase() + this.substr(1);

  }

  return this;

  };

  String.prototype.reverse = function () {

  var ret = '';

  for (var i = this.length - 1; i >= 0; i--) {

  ret += this.charAt(i);

  }

  return ret;

  };

  String.prototype.startWith = function (compareValue, ignoreCase) {

  if (ignoreCase) {

  return this.toLowerCase().indexOf(compareValue.toLowerCase()) == 0;

  }

  return this.indexOf(compareValue) == 0

  };

  String.prototype.endWith = function (compareValue, ignoreCase) {

  if (ignoreCase) {

  return this.toLowerCase().lastIndexOf(compareValue.toLowerCase()) == this.length - compareValue.length;

  }

  return this.lastIndexOf(compareValue) == this.length - compareValue.length;

  };