繁体   English   中英

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

[英]check if string is equal to a word and a number

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

var TheWordToCheck = "SomeWord";

if (TheObject['SomeProperty'] !== (TheWordToCheck + ' ' + 2)) {...}
if (TheObject['SomeProperty'] !== (TheWordToCheck + ' ' + 3)) {...}

在此示例中,代码仅检查"SomeWord 2""SomeWord 3" 如何在检查任何数字时简化此操作?

谢谢。

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

var reg = new RegExp("^"+TheWordToCheck+"\\s\\d$")

if (!TheObject['SomeProperty'].match(reg) {...

小提琴

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

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

或者您可以按照评论中的建议使用正则表达式

您可以使用正则表达式来检查:

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM