js实现prototype扩展的方法(字符串,日期,数组扩展)_javascript技巧
程序员文章站
2022-05-07 14:29:24
...
本文实例讲述了js实现prototype扩展的方法。分享给大家供大家参考,具体如下:
String.prototype.isEmpty = function () { return !(/.?[^/s ]+/.test(this)); } //检测字符串是否为空 // 替换字符 String.prototype.reserve = function(type) { if (type == 'int') return this.replace(/^/d/g, ''); // 替换字符串中除了数字以外的所有字符 else if (type == 'en') return this.replace(/[^A-Za-z]/g, ''); // 替换字符串中除了英文以外的所有字符 else if (type == 'cn') return this.replace(/[^/u4e00-/u9fa5/uf900-/ufa2d]/g, ''); // 替换字符串中除了中文以外的所有字符 else return this; } // 字符串反转 String.prototype.reverse = function() { return this.split('').reverse().join(''); } // 以一个中文算两个字符长度计算字符串的长度 String.prototype.cnLength = function() { return this.replace(/[^/x00-/xff]/g, ' * * ' ).length; } // 替换字符串中的空格 String.prototype.trim = function(type, char) { var type = type ? type.toUpperCase() : ''; switch (type) { case 'B' : // 替换所有欲清除字符,未定义char则默认为替换空格 return this.replace(char ? new RegExp(char, 'g') : /(/s+| )/g, ''); case 'O' : // 将两个以上的连续欲清除字符替换为一个,未定义char则默认为替换空格 return char ? this.replace(new RegExp(char + '{2,}', 'g'), char) : this.replace(/[/s ]{2,}/g, ' '); case 'L' : // 替换除左边欲清除字符,未定义char则默认为替换空格 return this.replace(char ? new RegExp('^(' + char + ') * ', 'g') : /^(/s| ) * /g, ''); case 'R' : // 替换除右边欲清除字符,未定义char则默认为替换空格 return this.replace(char ? new RegExp('(' + char + ') * $', 'g') : /(/s| ) * $/g, ''); default : // 替换除左右两边欲清除字符,未定义char则默认为替换空格 return this.replace(char ? new RegExp('^(' + char + ') * |(' + char + ') * $', 'g') : /(^/s * | )|( |/s * $)/g, ''); } } // 判断字符串是否是数字 String.prototype.isNumer = function(flag) { if (isNaN(this)) {return false;} switch (flag) { case '+' : return /(^/+?|^/d?)/d * /.?/d+$/.test(this); // 正数 case '-' : return /^-/d * /.?/d+$/.test(this); // 负数 case 'i' : return /(^-?|^/+?|/d)/d+$/.test(this); // 整数 case '+i' : return /(^/d+$)|(^/+?/d+$)/.test(this); // 正整数 case '-i' : return /^-/d+$/.test(this); // 负整数 case 'f' : return /(^-?|^/+?|^/d?)/d * /./d+$/.test(this); // 浮点数 case '+f' : return /(^/+?|^/d?)/d * /./d+$/.test(this); // 正浮点数 case '-f' : return /^-/d * /./d$/.test(this); // 负浮点数 default : return true; // 缺省 } } // 仿PHP的str_pad String.prototype.pad = function (input, length, type) { if (!input) return this; if (!length || length 0}) 判断是否数组中所有的元素都大于0 Array.prototype.all = function(c) { for(var i = 0; i 0) { count++; if (count == limit) break; } } } return this; } // 移除数组中重复的元素 Array.prototype.unique = function() { var arr = tmp = [], i, len = this.length; if (len
更多关于JavaScript扩展相关内容感兴趣的读者可查看本站专题:《JavaScript扩展技巧总结》
希望本文所述对大家JavaScript程序设计有所帮助。
推荐阅读
-
JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
-
数组Array进行原型prototype扩展后带来的for in遍历问题_javascript技巧
-
js将字符串转成正则表达式的实现方法_javascript技巧
-
数组Array进行原型prototype扩展后带来的for in遍历问题_javascript技巧
-
js将字符串转成正则表达式的实现方法_javascript技巧
-
JS实现日期加减的方法_javascript技巧
-
判断数组是否包含某个元素的js函数实现方法_javascript技巧
-
fix-ie5.js扩展在IE5下不能使用的几个方法_javascript技巧
-
js拆分字符串并将分割的数据放到数组中的方法_javascript技巧
-
javascript日期对象格式化为字符串的实现方法_javascript技巧