我的表格中有Name:,Call:,Phone:....等字符串。我正在学习jQuery并能够访问该文本。我的教程使用trim()
删除了任何空格。但是我希望从每个字符串的末尾删除“:”(是的,在调用trim()
方法后它总是在最后)。那么如何实现它。
我的代码:
<script type="text/javascript">
$(function ()
{
$(':input[type=text], textarea').each
(
function ()
{
var newText = 'Please enter your ' +
$(this).parent().prev().text().toLowerCase().trim();
$(this).attr('value', newText);
}).one('focus', function ()
{
this.value = '', this.className = ''
}).addClass('Watermark').css('width', '300px');
});
</script>
trim(“:”)没有帮助......
答案 0 :(得分:12)
您可以替换所有:
个字符:
var str = '::a:sd:';
str = str.replace(/:/g,''); // str = 'asd';
或使用方便的rtrim()
功能:
String.prototype.rtrim = function(character) {
var re = new RegExp(character + '*$', 'g');
return this.replace(re, '');
};
var str = '::a:sd:';
str = str.rtrim(':'); // str = '::a:sd';
答案 1 :(得分:5)
在这种情况下,只需使用普通的JavaScript replace
或substr
方法。
您还可以使用正则表达式查找冒号作为最后一个字符(regexp结束字符串anchor“$”之前的字符。)
"hi:".replace(/:$/, "")
喜
"hi".replace(/:$/, "")
喜
"h:i".replace(/:$/, "")
H:我
这是Blender答案中rtrim
函数的简化内联版本。
编辑:这是Blender纠正rtrim
功能的测试小提琴。请注意,如果字符串以连续的多个实例结束,则他的RegExp将删除多次出现的指定字符(下面以粗体显示)。
input =':: a:sd:'output =':: a:sd'; input ='hi:'output ='hi'; input ='hi :::'output ='hi'; input ='hi'output ='hi'; input ='h:i'output ='h:i'
答案 2 :(得分:1)
要剪切字符串的最后一个字符,请使用string.slice(0,-1)
答案 3 :(得分:0)
var myStr = "something:";
myStr = myStr.slice(0, -1);
答案 4 :(得分:0)
检查最后一个字符是否为冒号。如果是,则删除最后一个字符。
if (str[str.length - 1] === ":") {
str = str.slice(0, -1);
}
如果可以有多个尾随冒号,则可以将if
替换为while
,如下所示:
while (str[str.length - 1] === ":") {
str = str.slice(0, -1);
}
您甚至可以创建一个接受字符串和字符的通用trim
函数,并修剪该字符的尾部实例:
var trim = function(str, chr) {
while (str[str.length - 1] === ":") {
str = str.slice(0, -1);
}
return str;
}
答案 5 :(得分:0)
var a="name:";
var b=a.split(":");
alert(b[0]);
答案 6 :(得分:0)
一种方法是使用lastIndexOf
var str='Name:, Call:, Phone:';
var index=str.lastIndexOf(":");
alert(index);
var s=str.substring(0,index);
alert(s);
答案 7 :(得分:0)
您可以使用正则表达式删除冒号(:)。
替换一个实例:
var with_colon = 'Stuff:';
var regex = /([^:]*):/;
var without_colon = regex.exec(with_colon)[1];
alert(without_colon);
结果:Stuff
替换所有实例:
var with_colon = 'Stuff: Things:';
var without_colon = with_colon.replace(/([^:]*):/g,'$1');
alert(without_colon);
结果:Stuff Things
答案 8 :(得分:0)
str = str.substring(0,str.lastIndexOf(":"));
请注意,这将删除从上一个:
到字符串末尾的所有内容(例如,:
之后的任何空格。)
答案 9 :(得分:0)
function trim(str) {
str = str.replace(/^:*/,"");
return str.replace(/:*$/,"");
}