jquery字符串替换-jQuery替换了字符串(实例代码)。

2023-08-21 0 4,590 百度已收录

代码如下:函数 replace() { var str=“陶章毅爱刘永玲”; re=new RegExp(“l”,“g”); var newstart=str.replace(re,“t”); 警报(纽斯特);} 运行结果:弹出“陶张一 tove tiu weng ting”;说明:re=new RegExp(“l”,“g”) 中的第一个参数是要替换的字符串,第二个参数

代码如下:

函数替换()

jquery字符串替换-jQuery替换了字符串(实例代码)。

var str=“陶章义爱刘永玲”;

re=new RegExp(“l”jquery字符串替换jquery字符串替换,“g”);

var newstart=str.replace(re,“t”);

jquery字符串替换-jQuery替换了字符串(实例代码)。

警报(纽斯特);

运行结果:弹出“陶章一托维提翁亭”;

说明:re=new RegExp(“l”,“g”) 中的第一个参数是您要替换的字符串,第二个参数是指替换所有,其中第二个参数也可以设置为 (“i”),这意味着只替换第一个字符串。 str.replace(re,“t”) 是您要在第二个参数中更改的字符串。

jQuery替换所有空格;

如果你用PHP替换所有空格,你可以这样写

$srt=str_replace(“, ”,$str);// 替换所有空格

但是自己有这样的JS吗

$str=str.replace(“”,“”);写入替换空格

时,可以通过键入一个空格来替换它,但如果键入两个以上的空格,则不能。

在百度上找找,有十多种替代品

目前有 12 种方法可以消除 JS 中的空格:

实现 1

String.prototype.trim = function() {
return this.replace(/^/s/s*/, '').replace(//s/s*$/, '');
}

看起来不是那样的,但是在使用两次常规替换后,实际速率是惊人的,主要是由于浏览器的内部优化。一个众所周知的字符串串联示例,直接乘法比使用 Array 制作的 StringBuffer 更快。base2 泛型使用这些实现。

实施 2

String.prototype.trim = function() {
return this.replace(/^/s+/, '').replace(//s+$/, '');
}

与实现 1 非常相似,但速度稍慢,主要是因为它首先假定至少有一个空格。Prototype .js使用这些实现,但它的名字是 strip,因为 Prototype 努力与 Ruby 同名。

实现 3

String.prototype.trim = function() {
return this.substring(Math.max(this.search(//S/), 0),this.search(//S/s*$/) + 1);
}

空白部分是通过截取法获得的(实际上中间允许使用空格字符),一共调用了四个本机方法。子字符串设计巧妙,子字符串将两个数字作为参数。数学.max将两个数字作为参数,搜索返回一个数字。速度比上两个慢一点,但比大多数下两个快。

实施 4

String.prototype.trim = function() {
return this.replace(/^/s+|/s+$/g, '');
}

这可以称为实现 2 的简化版本jquery字符串替换,即在候选运算符的帮助下加入两个常规规则。但这样做会失去浏览器优化的机会,而浏览器优化不如实现3。因为它看起来很甜,所以许多解释器使用它,例如JQuery和mootools。

实现 5

String.prototype.trim = function() {
var str = this;
str = str.match(//S+(?:/s+/S+)*/);
return str ? str[0] : '';
}

match 返回一个链表,因此原始字符串中满足要求的部分将成为其元素。为了避免排除字符串中间的空格,我们需要使用非捕获分组 (?:exp)。因为链表可能是空的,我们必须在侧面做出进一步的判断。看来浏览器在处理分组方面比较弱,一个字慢。所以不要迷信规律性,尽管它基本上是无所不能的。

实现 6

String.prototype.trim = function() {
return this.replace(/^/s*(/S*(/s+/S+)*)/s*$/, '$1');
}

提供满足要求的部件,并将它们放在空字符串中。不过,它的效率并不高,尤其是在IE6中。

实施 7

String.prototype.trim = function() {
return this.replace(/^/s*(/S*(?:/s+/S+)*)/s*$/, '$1');
}

与实现 6 非常相似,但使用非捕获分组来利用它,并且性能效率略有提高。

实现 8

String.prototype.trim = function() {
return this.replace(/^/s*((?:[/S/s]*/S)?)/s*$/, '$1');
}

按照前两个思路,使用非捕获分组和字符集jquery字符串替换,用 ?换成*,效果惊人。尤其是在IE6中,可以用疯狂来形容这种性能的提升,直接杀掉傲游。

实施 9

String.prototype.trim = function() {
return this.replace(/^/s*([/S/s]*?)/s*$/, '$1');
}

这次是用懒惰匹配代替非捕获分组,在傲游中得到了改进,IE也不像以前那么疯狂了。

实现 10

String.prototype.trim = function() {
var str = this,
whitespace = ' /n/r/t/f/x0b/xa0/u2000/u2001/u2002/u2003/u2004/u2005/u2006/u2007/u2008/u2009/u200a/u200b/u2028/u2029/u3000';
for (var i = 0,len = str.length; i < len; i++) {
if (whitespace.indexOf(str.charAt(i)) === -1) {
str = str.substring(i);
break;
}
}
for (i = str.length - 1; i >= 0; i--) {
if (whitespace.indexOf(str.charAt(i)) === -1) {
str = str.substring(0, i + 1);
break;
}
}
return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
}

我只想说,想出这个的人,已经不是被描述为牛,而是神灵的级别。它首先列出所有可能的空格字符,在第一次遍历中锯掉以下空格,第二次锯掉下一个空格。整个过程只使用 indexOf 和 substring,它们是处理字符串的本机方法,不使用规律性。速度快得惊人,恐怕接近内部的两补实现,但在IE和傲游中表现不错(其他浏览器其实是毋庸置疑的)。速率均为零微秒。

实施 11

String.prototype.trim = function() {
var str = this,
str = str.replace(/^/s+/, '');
for (var i = str.length - 1; i >= 0; i--) {
if (//S/.test(str.charAt(i))) {
str = str.substring(0, i + 1);
break;
}
}
return str;
}

实现 10 早就向我们表明,普通的本机字符串截断比常规替换要好得多,即使它稍微复杂一些。但只要常规不是太复杂,我们就可以借助浏览器对正则表达式的优化来提高程序执行的效率,比如在IE中实现8的性能。我认为通常没有人会将实现 10 应用于项目,因为空格实现太长且难以记住(事实上,如果您正在构建解释器,它绝对是第一位)。实现11可以称为其改进版,后半部分的空白处通过定期更换锯掉,正面采用原生方式处理,功效不逊色于原版,但速度非常逆天。

实现 12

String.prototype.trim = function() {
var str = this,
str = str.replace(/^/s/s*/, ''),
ws = //s/,
i = str.length;
while (ws.test(str.charAt(--i)));
return str.slice(0, i + 1);
}

实现

10 和实现 11 在编写方面是更好的改进版本,请注意,它与性能速度无关,而是关于记忆和使用。而它的两个高手都在零微秒级,然后用这个来工作和可怕。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 jquery jquery字符串替换-jQuery替换了字符串(实例代码)。 https://www.wkzy.net/game/133887.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务