首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从字符串中剥离javascript unicode字符8206

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

Stack Overflow用户
提问于 2013-09-22 17:35:33
回答 1查看 2.7K关注 0票数 5

我对JavaScript (之前的VB.NET)还是个新手,开始掌握这门语言。我有一个问题,我在JavaScript中传递的字符串中包含Unicode转义字符(0x5206,从左到右),我需要去掉它。我可以用一个哑循环来检查unicode字符是否存在,然后把它去掉,但是我应该可以用一个.replace(正则表达式)来做到这一点。然而,在尝试了几个小时之后,我需要帮助(第一次做正则表达式)。

代码语言:javascript
复制
// 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转义字符没有去掉)。我非常确定正则表达式是正确的,所以不太确定为什么正则表达式对我不起作用(所以我可以跳过这个循环)。

谢谢你的指点。我确信我忽略了一些基本的东西...:-)

EN

回答 1

Stack Overflow用户

发布于 2013-09-22 17:42:16

5206还是8206?选择一个:)如果是8206,你想要\u200E (十六进制的8206)。如果是5206,你想要\u1456

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18942377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档