如何确定src
中的任何个别字符是否与restricted
中的任何个别字符匹配?我有这个JS方法可以完成这项工作,但如果可以,我想改进它:
function CheckRestricted(src, restricted)
{
for (var i = 0; i < src.length; i++)
{
for (var j = 0; j < restricted.length; j++)
{
if (src.charAt(i) == restricted.charAt(j))
return false;
}
}
return true;
}
如果这是C#,我可以用LINQ在一行中实现这一点:
bool CheckRestricted(string src, string restricted)
{
return src.Any(s => restricted.Contains(s));
}
JS中是否存在某些我不知道的类似功能?
编辑:示例用例:
CheckRestricted("ABCD", "!+-=;:'`"); //true
CheckRestricted("ABCD!", "!+-=;:'`"); //false
它主要用于禁止'特殊字符'。
答案 0 :(得分:5)
function CheckRestricted(src, restricted) {
return !src.split("").some(ch => restricted.indexOf(ch) !== -1);
}
答案 1 :(得分:0)
无循环解决方案。
function CheckRestricted(src, restricted) {
var a = [...src, ...restricted];
return [...new Set(a)].length == a.length;
}
console.log(CheckRestricted('word', 'abc'));
console.log(CheckRestricted('word', 'wor'));
&#13;