删除最后四个字符
var myString = "abcdefg";
var newString = myString.substr(0, myString.length-4);
// newString is now "abc"
删除前两个字符
var myString = "abcdefg";
var newString = myString.substr(2);
// newString is now "cdefg"
笔记
substr
函数可以对任何字符串调用,并接受两个整数参数,第二个参数可选。如果只提供一个参数,它将从该整数开始移动到字符串的末尾,截断开头部分。如果提供两个参数,它将从第一个数字开始到第二个数字结束,根据情况截断开头和结尾部分。
示例
abcdefghijklmnopqrstuvwxyz
此页面上的代码片段对我来说无法正常工作,并引发以下错误
$(‘#chopper’)[0].innerText 未定义
只是提醒一下!
我已经尝试点击“按下修剪”按钮,但没有任何反应,这是怎么回事?
Pauly(以及上面的 Joshua) - 我没有看到那个错误,你能告诉我浏览器/版本吗?
Firefox Mac,版本 27.0.1 这里,无法正常工作。
Chrome Mac,版本 33.0.1750.146 可以正常工作。
Safari Mac,版本 6.1.1 (7537.73.11) 可以正常工作。
所以看起来您不支持 Firefox。哇。
控制台显示
错误:类型错误:$(…)[0].innerText 未定义,位于 css-tricks.com/snippets/javascript/trim-firstlast-characters-in-string/ 第 58 行
我认为第二个示例的代码片段有一个拼写错误
var myString = “abcdefg”;
var newString = myString_2.substr(2);
该代码段的第二行应该是
var newString = myString.substr(2);
感谢您的提示!
你说得对!正在修复。只是因为不再与主题相关,所以将其埋葬。
谢谢!!
Chris,
您为什么选择
String.**substr**( start [, length ] )
而不是String.**slice**( begin [, end ] )
?我快速搜索了一下,大多数人推荐 splice,因为它可以接受负值作为结束点,而无需计算长度?切片和切块……
只是好奇!
Chris,似乎 FF 不支持
innerText
。textContent
将是现代的等效项:https://mdn.org.cn/en-US/docs/Web/API/Node.textContent但是既然我们正在使用 jQuery,为什么不使用
$(…).text()
:)如何同时进行?也就是说,如何删除同一个字符串中的前 9 个字符和最后一个字符?
@Wesley,
抱歉,昨晚很晚了,但我将下面提到的两个字符串修饰符组合成了一行
这是一个展示其运行方式的 pen
@Wesley,这个怎么样?
这是否符合您的要求?
Jon,
感谢您的这段代码片段。我更熟悉 PHP 而不是 Javascript,一直在寻找如何从两端截断字符串的方法,而这个方法完美地解决了我的问题。谢谢。
Don
我尝试使用特定字符串进行替换,并且它可以正常工作。但我遇到了以下情况:
<span class='someclass'>someclass</span>
到 sometext,这是否可行?如何跳过一些字符,并删除其后的字符?
例如,在 abcdefgh 中,如何从 d 开始修剪(使 d 成为第一个字符)?
@Sarmad,
这将是上面我展示的代码块的第一部分
或者
http://codepen.io/jonrandahl/pen/hulKG
是的,我明白了,但我的意思是删除中间的字符。
例如,abc(删除四个字符)hijklmn
@Sarmad,
这个对您有用吗?
http://codepen.io/jonrandahl/pen/xgDrF
正是如此。我一直在寻找一种方法来修剪
<a>
中 url 的一部分。现在这个方法可以完美地工作了。谢谢。@Sarmad,
您也可以根据您的搜索参数分割字符串,并将两个生成的数组部分连接起来,例如:
示例……
这实际上取决于您想如何在“干草堆”字符串中找到您的“针”字符串?
Jon
a=(123) 456-789
如何忽略特殊字符?
我希望显示 *******544 而不是 9044420544,如何在 html 和 java sctript 中实现,并且在点击按钮后需要显示完整的数字 9044420544?
@alankar,我会将原始值复制并存储在 data-attribute 中,然后使用正则表达式将字符串长度减去 3 以外的所有字符替换为星号字符进行掩码。如果你需要进一步帮助,请告诉我!
@alankar,
怎么样
http://codepen.io/jonrandahl/pen/BKqPdP