Javascript 传递的字符串中带 \r 的字符串被解释为换行符

Javascript passed string with \r in the string is being interpreted to newline

我收到了这样的新字符串 "ABCD\richard"

我希望能够从字符串中剥离 "ABCD\"。但是 JavaScript 将“\r”解释为换行元字符。我想我对任何元字符都会有同样的问题。我正在寻找一种方法来去除所有传递的字符串上的 "ABCD\" 字符串。

最终结果应该是"richard"作为最终字符串。这是我到目前为止尝试过的:

string.substr(5,100); string.split('ABCD\');

这是我的代码:

function export_sal(user)
{
    var noABCD = user.replace(/ABCD\/, '');
    console.log(noABCD);
}

这是HTML:

<div class="pull-left" style="padding-bottom:5px;padding-left:5px;">
    <div onclick="export_sal('<?php echo $_SERVER['AUTH_USER'];?>');" class='btn btn-info btn-md' id="e_sal">SAL Export

控制台输出的结果是这样的:

ABCD 理查德

我需要 console.log 输出来显示:richard

感谢您的帮助。谢谢。

您需要对 \ 字符进行转义,这样它就不会被视为特殊字符。

var noABCD = str.replace(/ABCD\/, '');

https://regex101.com/r/UjGI4o/1

您不仅需要转义 \,还需要转义 \n\r\t 才能正常工作。

"ABCD\richard".replace("\r", "\r").replace("\n", "\n").replace("\t", "\t").split(/\/)

https://jsfiddle.net/4c5b5v2k/