Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 删除Jquery中字符串的最后8个字符_Javascript_Jquery - Fatal编程技术网

Javascript 删除Jquery中字符串的最后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); 此行不会更改数据

我有一些来自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);
此行不会更改
数据
的值,它只会从
数据
中取出最后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);