This question already has answers here:
How to ignore acute accent in a javascript regex match?
(4个答案)
ignore accent in regex [duplicate]
(3个答案)
4年前关闭。
当用户尝试验证时,我必须检查文本区域中的禁止单词。
禁止的单词列表存储在
但是问题是,
我如何检查口音是否缺失?
注意:“标记为重复”:重复的问题是“不带重音的正则表达式检查带有重音的文本”,我的问题是“带重音的正则表达式检查带有潜在重音的文本”。
(4个答案)
ignore accent in regex [duplicate]
(3个答案)
4年前关闭。
当用户尝试验证时,我必须检查文本区域中的禁止单词。
禁止的单词列表存储在
jsBlackList
数组中,这是到目前为止我的代码的一部分:var fieldValue = value;
var hasForbiddenWord = false;
for (i = 0; i < jsBlackList.length; i++) {
var regex = new RegExp("\\b"+jsBlackList[i]+"\\b","gi");
fieldValue = fieldValue.replace(regex, '***');
hasForbiddenWord = hasForbiddenWord || fieldValue.match(regex);
}
value = fieldValue;
但是问题是,
jsBlackList
具有一些带重音符号的字符,而用户可以不带重音进行书写(例如,jsBlackList可以具有“déjà”,并且用户键入了“ deja”,“déja”或“dejà”)。我如何检查口音是否缺失?
注意:“标记为重复”:重复的问题是“不带重音的正则表达式检查带有重音的文本”,我的问题是“带重音的正则表达式检查带有潜在重音的文本”。
最佳答案
实现此目的的一种方法是我稍微更改您的黑名单:
将所有字符替换为带有重音符号的相同替代字符。
例如:"déjà"
到:"d(é|e)j(à|a)"
如果您的黑名单很大,则可能您想自动执行这种替换,但是最后,将黑名单写成这样很方便。
关于javascript - 正则表达式中带有重音符的匹配项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30184646/
10-12 15:36