首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >删除javascript中的全角和半角字符

删除javascript中的全角和半角字符
EN

Stack Overflow用户
提问于 2013-12-18 17:37:39
回答 1查看 1.4K关注 0票数 0

我的数据库不支持全角和半角字符。所以我需要在插入前对它们进行转义。

我相信范围是从U+FF00到U+FFFF

所以我的函数是

代码语言:javascript
运行
复制
function escapeZeroWidth(userInput){
    return (userInput ? userInput.replace(/[\uFF00-\uFFFF]/g, '') : userInput);
}

但这并不像预期的那样工作(不是转义字符)。

代码中有什么错误吗?

EN

回答 1

Stack Overflow用户

发布于 2013-12-18 18:05:39

我认为它是FF00 - FFFE (但这并不重要)。我会将它改为这样,这样您就不会丢失ASCII字符:

代码语言:javascript
运行
复制
return userInput.replace(/[\uFF00-\uFFFE]/g, function (char) {
    if (char >= '\uFF00' && char <= '\uFF5E') {
        return String.fromCharCode(
            ' '.charCodeAt(0) + 
            (char.charCodeAt(0) - '\uFF00'.charCodeAt(0)));
    }
    return '';
});

但是当你说它不工作时,也许你也必须处理全角以外的其他字符。

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

https://stackoverflow.com/questions/20654380

复制
相关文章

相似问题

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