如何在javascript中删除字符串末尾的某个字符

时间:2014-04-05 19:44:09

标签: javascript encryption

http://dren.ch/js_blowfish/

我正在尝试使用blowfishJS, 但它有一个使其无法使用的错误

//我想说我要加密字符串“house”

var bf = new Blowfish('some key');

var house = "house";
var ciphertext = bf.encrypt(house);
var plaintext = bf.decrypt(ciphertext);

console.log(plaintext); //outputs house00 instead of house

有时它超过2个零。

这可能会有所帮助:

  

尝试加密的所有字符串无论如何都以“=”结束。所以它会   可以删除“纯文本”字符串末尾的所有零   直到字符“=”出现。

我如何实现这一目标? 假设我有字符串“mystring == 000”,我需要删除最后的所有零。 我已经完成了对“切片”功能的研究,问题是最后没有确定的“位置”,因为我不知道是否会出现2,3或x个零

3 个答案:

答案 0 :(得分:1)

您可以使用该索引中的lastIndexOf()substr。例如;

var house = 'house=04543976439859df45345ffd43';

house.substr( 0, house.lastIndexOf('=') + 1 ); // => "house="

lastIndexOf将返回指定值最后一次出现的索引(在此示例中我执行+ 1以包含=字符)。然后我们可以使用substr来提取该索引之后的所有字符。

答案 1 :(得分:0)

如果你确定字符串以零结尾并修剪直到=使用

,你可以使用正则表达式来执行此操作
plaintext.replace(/=(0)+$/g,"=");

答案 2 :(得分:0)

使用正则表达式,您可以删除最后一个之后的任何内容=无论是否为零。

plaintext.replace(/ [^ \ =] + $ /,"");

简单地说,找到一个不包含' ='的最大子字符串。并且它在字符串的末尾并替换为空字符串。