【发布时间】:2015-07-22 23:01:42
【问题描述】:
当用户尝试验证时,我必须检查文本区域中的禁用词。
禁用词列表存储在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[ée]j[àa]
标签: javascript regex