从字符串中剥离 javascript unicode 字符 8206

Stripping javascript unicode character 8206 from a string

本文关键字:unicode 字符 8206 javascript 剥离 字符串      更新时间:2023-09-26

我仍然不熟悉JavaScript(VB.NET 以前),并且正在掌握这门语言。我有一个问题,我在 JavaScript 中传递的字符串以某种方式在其中包含 Unicode 转义字符(0x5206,从左到右标记),我需要将其删除。我可以通过一个愚蠢的循环来检查 unicode 字符的存在并将其剥离出来,但我应该能够使用 .replace(regex) 来做到这一点。但是,经过几个小时的尝试,我需要帮助(第一次做正则表达式)。

// Convert from JS date format to dotnet ticks
function getNetDateTime(JSDate, dateortime) {
    var convStr = JSDate.toLocaleString();
    var tryRegEx = convStr.replace(/'u5206/g, "");
    var tempStr = "1/01/2000 10:00:00 AM";
    var stripStr = "";
    for (var i = 0; i < convStr.length; i++) {
        if (convStr.charCodeAt(i).toString() != "8206") stripStr = stripStr + convStr.charAt(i);
    }
    alert(new Date(tempStr).toString());
    alert(new Date(tryRegEx).toString());
    alert(new Date(stripStr).toString())
    var datetime = ((new Date(stripStr).valueOf() + unixEpoc) * pcTicks).toString();
    return datetime;
}

在上面的代码中,tempStr 和 stripStr 给出了正确的日期,但没有 tryRegEx(由于 Unicode 转义字符没有被去除,所以获得无效的日期)。我相当确定正则表达式是正确的,所以不确定为什么正则表达式对我不起作用(所以我可以放弃循环)。

感谢您的任何指示。我确定我在这里忽略了一些基本的东西... :-)

5206 还是 8206?选择一个:)如果是 8206,则需要'u200E(十六进制为 8206)。如果是 5206,您需要'u1456