gpt4 book ai didi

javascript - 比较忽略特殊字符 "ä"的 JavaScript 字符串

转载 作者:行者123 更新时间:2023-12-02 14:12:53 25 4
gpt4 key购买 nike

问题如下:我想比较两个包含特殊字符“ä”的 JavaScript 字符串。其中一个字符串来自环境变量。我从第三方获得的另一个字符串。在我的本地主机 (Windows) 上,比较按预期进行,但在生产环境服务器 (ubuntu) 上比较不起作用。

在生产环境中,当我比较两个应该相等的包含“ä”字符的字符串时,结果是它们不相等。我怀疑这是因为“ä”字符。

我想要的是一个不关心特殊字符的比较函数。无论是否包含“ä”字符,都应该起作用的比较函数。我希望我使用 docker,这样我就可以避免此类服务器意外。

最佳答案

您可以在使用 RegExp 进行比较之前删除任何特殊字符:

您可以选择定义普通字符,或定义所有特殊字符。

<小时/>

方法 - 1 定义普通字符:

在此代码中,我仅保留字母表。

function removeSpecial(s){
return s.replace(/[^a-z0-9]/ig,'')
}

console.log(removeSpecial('abcd#@$ef')==removeSpecial('ab@@cdef')) // True

function compareSpecial(a,b){
return removeSpecial(a)==removeSpecial(b)
}

console.log(compareSpecial('abcd#@$ef','ab@@cdef')) // True
<小时/>

方法2 - 定义特殊字符

您只能删除特殊字符(您可以使用 regexp Unicode 来删除特殊字符:

function removeSpecial(s){
return s.replace(/[\u00E0-\u00F0]/ig,'')
}

关于javascript - 比较忽略特殊字符 "ä"的 JavaScript 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39341881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com