通过prototype为String对象添加方法

感觉JavaScript的字符串方法比较少,特别是用Java或C#习惯之后。在网上找了一下,发现通过prototype可以扩展字符串的方法。比如如下JavaScript代码:

JavaScript
/**
 * 去掉字符串两端的空白字符
 */
String.prototype.trim = function() {
    return this.replace(/(^s+)|(s+$)/g, "");
};
/**
 * 去掉字符串左端的空白字符
 */
String.prototype.ltrim = function() {
     return this.replace(/(^s*)/g, "");
};
/**
 * 去掉字符串右端的空白字符
 */
String.prototype.rtrim = function() {
     return this.replace(/(s*$)/g, "");
};
/**
 * 忽略大小写比较字符串
 * 注:不忽略大小写比较用 == 号
 */
String.prototype.iEquals = function(str) {
    return this.toLowerCase() == str.toLowerCase();
};
/**
 * 比较字符串,根据结果返回 -1, 0, 1
 */
String.prototype.compareTo = function(str) {
    if (this == str) {
        return 0;
    } else if (this < str) {
        return -1;
    } else {
        return 1;
    }
};
/**
 * 忽略大小写比较字符串,根据结果返回 -1, 0, 1
 */
String.prototype.iCompareTo = function(str) {
    return this.toLowerCase().compareTo(str.toLowerCase());
};
/**
 * 判断字符串是否以指定的字符串开始
 */
String.prototype.startsWith = function(str) {
    return this.substr(0, str.length) == str;
};
/**
 * 判断字符串是否以指定的字符串开始,忽略大小写
 */
String.prototype.iStartsWith = function(str) {
    return this.substr(0, str.length).iEquals(str);
};
/**
 * 判断字符串是否以指定的字符串结束
 */
String.prototype.endsWith = function(str) {
    return this.substr(this.length - str.length) == str;
};
/**
 * 判断字符串是否以指定的字符串结束,忽略大小写
 */
String.prototype.iEndsWith = function(str) {
    return this.substr(this.length - str.length).iEquals(str);
};

参考地址:http://www.cftea.com/c/2009/05/ICK58GL3K5K4P7AS.asp

转载请注明:宇托的狗窝 » 通过prototype为String对象添加方法

发表我的评论
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址