Javascript 删除Jquery中字符串的最后8个字符
我有一些来自ajax调用的输出数据,我想去掉数据的最后8个字符,但也要将它们从字符串中删除,这样当我打印数据时,我得到的字符串就不会显示出来 这是我尝试过的代码,它成功地接受了最后8个字符,但没有删除它们Javascript 删除Jquery中字符串的最后8个字符,javascript,jquery,Javascript,Jquery,我有一些来自ajax调用的输出数据,我想去掉数据的最后8个字符,但也要将它们从字符串中删除,这样当我打印数据时,我得到的字符串就不会显示出来 这是我尝试过的代码,它成功地接受了最后8个字符,但没有删除它们 var data = "This is some data 12345678"; var comment_id = data.slice(-8); jQuery.trim(comment_id); $('#comments_'+comment_id).html(data); 此行不会更改数据
var data = "This is some data 12345678";
var comment_id = data.slice(-8);
jQuery.trim(comment_id);
$('#comments_'+comment_id).html(data);
此行不会更改数据
的值,它只会从数据
中取出最后8个字符<代码>数据是一个字符串,它是不可变的
在此行之后添加以下行
data = data.substring(0, data.length -8);
为什么不使用子字符串?
var strLen=data.length,
comment_id=data.substring((strLen>=8?strLen-8:0),strLen);
(忽略我回答的这一部分)
要删除它们,请执行几乎相同的操作:
data=data.substring(0,strLen-8)
相当于:
“daddad”到“d”
(我没有注意到你想要这个,所以我很抱歉)这里有一个很好的使用regex的方法,它也比较干净:
var data = "This is some data 12345678",
comment_id = data.match(/\d{8}$/)[0];
data = data.replace(comment_id, '').trim();
$('#comments_' + comment_id).html(data);
从服务器端代码返回json
{message:"This is some data",comment_id:"12345678"}
你可以像这样访问它
$('#comments_'+data.comment_id).html(data.message);
Regexp会更重,相当于
子字符串
,但这样做没有问题。我复制了代码,编写了警报(data.comment\u id),输出为“未定义”
$('#comments_'+data.comment_id).html(data.message);