function trim(input_)
{
var reg=/(^\s+|\s+$)/gi;
return input_.replace(reg, function(march){
return march.replace(/\s+/,"");
});
}
附replace的实现:
var GLOBAL = /(g|gi)$/;
var _String_replace = String.prototype.replace;
String.prototype.replace = function(expression, replacement) {
if (typeof replacement == "function") { // Safari doesn't like functions
if (expression && expression.constructor == RegExp) {
var regexp = expression;
var global = regexp.global;
//regexp.global 也不可靠?直接判断正则有没有g吧
if (global == null) global = GLOBAL.test(regexp);
// we have to convert global RexpExps for exec() to work consistently
//很精巧,即使是g 全局的也要剥离掉 ,使得全局不全局可以很统一和谐的对待
if (global) regexp = new RegExp(regexp.source); // non-global
} else {
regexp = new RegExp(rescape(expression));
}
var match, string = this, result = "";
while (string && (match = regexp.exec(string))) {
//匹配项替换后结果以及匹配前缀放入结果
result += string.slice(0, match.index) + replacement.apply(this, match);
//这样很好,不用像chrome那样还要记录 previous 的状态,直接把要正则匹配的字符 串截断。
string = string.slice(match.index + match[0].length);
//全局不全局只有这一个差别了
if (!global) break;
}
//最后一次匹配结束位置到字符串结尾
return result + string;
}
return _String_replace.apply(this, arguments);
};
分享到:
相关推荐
删除字符串前导空格.asp 删除字符串后导空格.asp 反向截取字符串.asp 反向查找字符串.asp 字符串倒序排列.asp 字符串大写转化.asp 字符串小写转化.asp ...
即使有经验的用户也经常会遇到性能不佳、误报、漏报等让人挠头的错误,本书对于如何使用正则表达式来解决一些常见的问题给出了按部就班的解决方案,其中包括c#、Java、JavaScript、Perl、PHP、Python、Ruby和VB...
即使有经验的用户也经常会遇到性能不佳、误报、漏报等让人挠头的错误,本书对于如何使用正则表达式来解决一些常见的问题给出了按部就班的解决方案,其中包括c#、Java、JavaScript、Perl、PHP、Python、Ruby和VB...
JavaScript的RegExp对象和String对象定义了使用正则表达式来执行强大的模式匹配和文本检索与替换函数的方法. 在JavaScript中,正则表达式是由一个RegExp对象表示的.当然,可以使用一个RegExp()构造函数来创建RegExp...
去除前导和后续空格 /(^\s*)|(\s*$)/g 范例如下: 函数体: String.prototype.trim=function(){ return this.replace(/(^\s*)|(\s*$)/g,''); } 使用方法: var s=' \u4f60\u597d '; alert( s.trim() ); ...
此外,JavaScript这种客户端的脚本语言也提供了对正则表达式的支持,现在正则表达式已经成为了一个通用的概念和工具,被各类技术人员所广泛使用。 在某个Linux网站上面有这样的话:"如果你问一下Linux爱好者最喜欢...
空白字符为任何匹配Javascript正则表达式\s的任何字符。包括空格、换页、换行、回车、tab、垂直指标符等。 $.each(container, callback) 对container的每一项进行迭代,为每一项调用回调函数callback。 container ...
xhelper 安装 npm install xhelper -- save 后端使用 const xhelper = require ( 'xhelper' ) ; 前端使用 < script src =" ./node_modules/xhelper/xhelper.min.js " ...在字符串中添加前导零,直到匹配给定字符长度
莱索 根据文件中的注释智能地解析和输出TODO和FIXME 轻松提取,收集和报告代码中的TODO和FIXME。 该项目使用正则表达式以便从注释中提取您的待办事项。...支持前导引用和尾随引用。 例子: // TODO(tregusti): Make t
12 说明:它将删除前导空格,将删除所有数字,将字符串更改为大写并返回新字符串的值正则表达式类: regex语法的声明类似于javascript,因为也支持带有两个字符串的“ /” + regex pattern +“ /” +可