Javascript if语句中的不同字符串

Javascript if语句中的不同字符串,javascript,arrays,string,if-statement,Javascript,Arrays,String,If Statement,有人知道如何检查if…else语句中的类似字符串吗 我下面的代码是检查用户是否在自定义受限权限组中,以便我可以在UI中创建一个指示器 if ((myMemberships.indexOf(Sitetitle + " Restricted Readers")>=0) { oInstance.model.dcn[0]._recordSet[i].isMember=false; 但我想编写一个数组,它将存储Sitetitle+“受限读卡器”的不同字符串组合,例如Siteti

有人知道如何检查if…else语句中的类似字符串吗

我下面的代码是检查用户是否在自定义受限权限组中,以便我可以在UI中创建一个指示器

if ((myMemberships.indexOf(Sitetitle + "  Restricted  Readers")>=0) {
        oInstance.model.dcn[0]._recordSet[i].isMember=false;

但我想编写一个数组,它将存储Sitetitle+“受限读卡器”的不同字符串组合,例如Sitetitle受限读卡器、SiteTitleRestrictedReader、Sitetitle受限读卡器。因此,我可以防止管理员在创建组名时键入错误的组名,最终导致代码失败

我建议使用数组函数
Array。有些
可以执行以下操作:

function isRestrictedReader(member){
   return /Restricted\s+Readers/.test(member); 
   // I'm using a RegExp, but you could use other methods.
   // it just has to return a boolean.
}

if (myMemberships.some(isRestrictedReader)){
   oInstance.model.dcn[0]._recordSet[i].isMember=false;
}

我建议使用数组函数
Array。有些
可以执行以下操作:

function isRestrictedReader(member){
   return /Restricted\s+Readers/.test(member); 
   // I'm using a RegExp, but you could use other methods.
   // it just has to return a boolean.
}

if (myMemberships.some(isRestrictedReader)){
   oInstance.model.dcn[0]._recordSet[i].isMember=false;
}

如果您不想重构(稍后将详细介绍),可以使用正则表达式来测试字符串是否与您要查找的模式匹配

var regex = new RegExp(Sitetitle + "\s*restrict(?:ed)?\s*reader[s]?", "i");

if ((myMemberships.some(function(text){ return text.match(regex) }) {
        oInstance.model.dcn[0]._recordSet[i].isMember=false;
我刚刚根据你们的例子拼凑出的正则表达式,但我相信有经验的人可以想出一个更好的正则表达式


不过,正如其中一条评论所指出的,这是一种处理此类数据的非常不安全的方法。关键数据不能依赖人类可读的字符串。特别是当遇到诸如打字错误等问题时,你应该尝试不同的方法。但是,如果出于某种原因您不能,这应该足够了。

如果您不想重构(稍后将详细介绍),可以使用正则表达式来测试字符串是否与您要查找的模式匹配

var regex = new RegExp(Sitetitle + "\s*restrict(?:ed)?\s*reader[s]?", "i");

if ((myMemberships.some(function(text){ return text.match(regex) }) {
        oInstance.model.dcn[0]._recordSet[i].isMember=false;
if(/resTrict/i.test('resTrICted') !== false) {


}
我刚刚根据你们的例子拼凑出的正则表达式,但我相信有经验的人可以想出一个更好的正则表达式


不过,正如其中一条评论所指出的,这是一种处理此类数据的非常不安全的方法。关键数据不能依赖人类可读的字符串。特别是当遇到诸如打字错误等问题时,你应该尝试不同的方法。但是,如果由于某种原因您不能,这就足够了。

您说的“将数组写入if…else语句”是什么意思?对不起,您的问题真的不清楚。。。我就是搞不懂你想实现什么我想创建一个变量作为数组,这样我就可以存储各种各样的字符串。只是想解决这个问题,不需要是数组。我知道他想实现什么:他想检查数组中是否有与“受限读卡器”类似的值。这样他就不必担心人们必须键入特定的字符串。我现在正在整理一个答案。您的数据格式错误,可能不安全(您已经知道)。受限读卡器应该是一个用户ID数组。它应该有一个规范化的名称,比如“memberGroups.restrictedReaders”。这应该是出于内部目的。为了便于查看,此组应具有可翻译为人类语言的名称。长话短说,你需要重构。你说的“将数组写入if…else语句”是什么意思?对不起,你的问题真的不清楚。。。我就是搞不懂你想实现什么我想创建一个变量作为数组,这样我就可以存储各种各样的字符串。只是想解决这个问题,不需要是数组。我知道他想实现什么:他想检查数组中是否有与“受限读卡器”类似的值。这样他就不必担心人们必须键入特定的字符串。我现在正在整理一个答案。您的数据格式错误,可能不安全(您已经知道)。受限读卡器应该是一个用户ID数组。它应该有一个规范化的名称,比如“memberGroups.restrictedReaders”。这应该是出于内部目的。为了便于查看,此组应具有可翻译为人类语言的名称。长话短说,你需要重构。谢谢!这正是我要找的!基本上,SharePoint处理所有权限并保护内容。即使管理员创建了错误的组名,用户也无法授予访问权限。这个if…else语句只是帮助我在前端创建文本,告诉用户他们是否有访问权限。谢谢!这正是我要找的!基本上,SharePoint处理所有权限并保护内容。即使管理员创建了错误的组名,用户也无法授予访问权限。这个if…else语句只是帮助我在前端创建文本,告诉用户他们是否有访问权限。虽然这个代码片段可以回答这个问题,但它没有提供任何上下文来解释如何或为什么。考虑一两句话来解释你的答案。另外,请使用代码格式语法来设置代码段的格式;)虽然这个代码片段可以回答这个问题,但它没有提供任何上下文来解释如何或为什么。考虑一两句话来解释你的答案。另外,请使用代码格式语法来设置代码段的格式;)
if(/resTrict/i.test('resTrICted') !== false) {


}