如何检查一个字符串是否包含来自另一个字符串的任何字符?
如何确定src
中的任何单个字符是否与restricted
中的任何单个字符匹配?我有这个JS方法,做这项工作,但我想,如果我可以对其进行改进:如何检查一个字符串是否包含来自另一个字符串的任何字符?
bool CheckRestricted(string src, string restricted)
{
return src.Any(s => restricted.Contains(s));
}
:
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实现这一目标
在JS中有一些类似的功能,我不知道?
编辑:样品用例:
CheckRestricted("ABCD", "!+-=;:'`"); //true
CheckRestricted("ABCD!", "!+-=;:'`"); //false
它主要用于禁止 '特殊字符'。
function CheckRestricted(src, restricted) {
return !src.split("").some(ch => restricted.indexOf(ch) !== -1);
}
第二' .split(“”)'是没有必要 – Andreas
你可以用'String.prototype.includes()' – MultiplyByZer0
这似乎为我工作,至少它并使用基于Web的JS编译器。出于某种原因,Visual Studio 2013在'=>'上提供了'语法错误'?但是,VS知道什么JS,反正:) – sab669
无回路解决方案。
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'));
请添加一些用例。 –
@NinaScholz编辑我的帖子与2个样本。 – sab669
可能的重复[Javascript。检查,如果字符串中包含的文本从子阵列(http://*.com/questions/5582574/javascript-checking-if-string-contains-text-from-an-array-of-substrings) –