Javascript 检查字符串是否等于一个单词和一个数字

Javascript 检查字符串是否等于一个单词和一个数字,javascript,Javascript,我有一个包含字符串作为属性的对象。我想检查这个属性是否不等于某个单词,后跟一个空格和一个数字。例如,类似这样的事情: var TheWordToCheck = "SomeWord"; if (TheObject['SomeProperty'] !== (TheWordToCheck + ' ' + 2)) {...} if (TheObject['SomeProperty'] !== (TheWordToCheck + ' ' + 3)) {...} 在此示例中,代码仅检查“SomeWord

我有一个包含字符串作为属性的对象。我想检查这个属性是否不等于某个单词,后跟一个空格和一个数字。例如,类似这样的事情:

var TheWordToCheck = "SomeWord";

if (TheObject['SomeProperty'] !== (TheWordToCheck + ' ' + 2)) {...}
if (TheObject['SomeProperty'] !== (TheWordToCheck + ' ' + 3)) {...}
在此示例中,代码仅检查
“SomeWord 2”
“SomeWord 3”
。如果它检查任何数字,我如何简化它


谢谢。

您可以使用正则表达式和
match()
方法(未测试)


取决于需要检查的数字范围,如果它是静态的或小于最大值,则可以使用循环并将循环变量附加到字符串并进行检查

for (var i=0;i<maxNumber;i++)
{ 
if (TheObject['SomeProperty'] !== (TheWordToCheck + ' ' + i)) {...
                 break;
                 }
}

for(var i=0;i您可以使用正则表达式来检查:

var TheWordToCheck = "SomeWord";
var TheObject = {
    "SomeProperty": "SomeWord 100"
};

var pattern = new RegExp(TheWordToCheck + ' \\d', 'g');
if (TheObject['SomeProperty'].match(pattern) != null) { ... }

请注意,必须执行两次反斜杠,以确保在模式中转义第一个反斜杠。还应使用正则表达式构造函数,以便能够在模式中使用变量。

if(!TheObject['SomeProperty'].match(/^TheWord\s\d$/)
@adeneo:好的,很酷;把它作为一个答案放进去,这样我就可以接受了。当然,它没有经过测试,但逻辑应该可以工作,你可能需要调整正则表达式,但它应该与字符串、空格和数字相匹配。刚刚注意到:单词tocheck是一个变量,但在正则表达式中它是一个文本。你可以使用正则表达式构造器,然后选择regex方法,无论如何它更聪明。我想你可能不愿意进入regex,这一次会更容易,因为其他人已经给出了这个表达式,但如果你对它没有很好的理解,那么下一次将很难做到。另外,你为什么要避免这个,任何特别的缺点?
var TheWordToCheck = "SomeWord";
var TheObject = {
    "SomeProperty": "SomeWord 100"
};

var pattern = new RegExp(TheWordToCheck + ' \\d', 'g');
if (TheObject['SomeProperty'].match(pattern) != null) { ... }