原帖地址:http://space.flash8.net/space/?uid-18713-action-viewspace-itemid-401801
原作者:我佛山人
// 对字符串类型的扩展实现 String.implement({ // Regex实例方法test的快捷方式 test: function (regex, params) { return (( typeof regex == ' string ' ) ? new RegExp(regex, params) : regex).test( this ); }, /* 测试字符串中是否包含指定子串 配合separator参数可以测试类似逗号分隔序列中是否包含指定的项 例如:'jpg,gif,png'.contains(file_ext_name, ',') */ contains: function (string, separator) { return (separator) ? (separator + this + separator).indexOf(separator + string + separator) > - 1 : this .indexOf(string) > - 1 ; }, // 过滤字符串中的前导及后导空白 trim: function () { return this .replace( / ^\s+|\s+$ / g, '' ); }, // 将连续空白替换为一个空格 clean: function () { return this .replace( / \s+ / g, ' ' ).trim(); }, // 将字符串骆驼化(各单词首字母大写),与hyphenate、capitalize配合,通常用于变量/属性名 camelCase: function () { return this .replace( / -\D / g, function (match) { return match.charAt( 1 ).toUpperCase(); }); }, // 骆驼字符连接化 hyphenate: function () { return this .replace( / [A-Z] / g, function (match) { return ( ' - ' + match.charAt( 0 ).toLowerCase()); }); }, // 使首字母大写 capitalize: function () { return this .replace( / \b[a-z] / g, function (match) { return match.toUpperCase(); }); }, // 转义正则字符串 escapeRegExp: function () { return this .replace( / ([-.*+?^${}()|[\]\ / \\]) / g, '\\$1'); }, // parseInt的快捷方式 toInt: function (base) { return parseInt( this , base || 10 ); }, // toFloat的快捷方式 toFloat: function () { return parseFloat( this ); }, // 十六进制颜色表示转为RGB表示 hexToRgb: function (array) { var hex = this .match( / ^#?(\w{1,2})(\w{1,2})(\w{1,2})$ / ); return (hex) ? hex.slice( 1 ).hexToRgb(array) : null ; }, // 十六进制颜色表示转为RGB表示 rgbToHex: function (array) { var rgb = this .match( / \d{1,3} / g); return (rgb) ? rgb.rgbToHex(array) : null ; }, // RGB颜色表示转为十六进制表示 stripscrīpts: function (option) { var scrīpts = '' ; var text = this .replace( / <scrīpt[^>]*>([\s\S]*?)<\ / scrīpt > / gi, function() { scrīpts += arguments[ 1 ] + ' \n ' ; return '' ; }); if (option === true ) $exec(scrīpts); else if ($type(option) == ' function ' ) option(scrīpts, text); return text; }, /* 类似format的一种替换方式,根据提供的regexp匹配对的子串,用相应的object对象属性来替换 例如: var student = new Student('John', 'male', 17); alert('{name} is a {sex}, and {age} years old.'.substitute(student)); 将显示 John is a male, and 17 years old. 是不是很优雅? */ substitute: function (object, regexp) { return this .replace(regexp || ( / \\?\{([^}]+)\} / g), function (match, name) { if (match.charAt( 0 ) == ' \\ ' ) return match.slice( 1 ); return (object[name] != undefined) ? object[name] : '' ; }); }});
转载于:https://www.cnblogs.com/maapaa/articles/mootools-s-10.html
相关资源:数据结构—成绩单生成器