如何检查字符串末尾是否包含某些内容

时间:2013-03-27 20:09:18

标签: javascript regex

我正在写一些条件来完成不同的任务。例如,如果字符串等于 案例1,“/ Livestock”,然后打印“任务一”。 案例2,“/ Livastock /”+最后的其他内容,然后打印“任务二”。 否则,打印“任务三”。 好像我们使用.test()来检查正则表达式,但是如何将它放在switch语句中?

2 个答案:

答案 0 :(得分:1)

你没有清楚地描述你的问题。所以我假设你的字符串(var str)在

case1: "task one", str=="Livestock"
case2: "task two", str starts with "Livestock" and there are something after it.
case3: "task three", not in above two cases

然后你可以:

var flag=str=="Livestock"?1:str.search(/^Livestock/)==0?2:3;

现在标志有1, or 2 or 3,因此您可以在switch语句中查看它。

如果我错误地理解了您的问题,请留下评论,看看我是否能解决问题。

答案 1 :(得分:0)

$表示字符串的结尾(如果您在RegEx中使用特定的开关,则表示行的结尾)。

var ends_w_livestock = /\/Livestock\/?$/,
    continues_after_livestock = /\/Livestock\/[^?#]+/;

现在,第一个允许测试以“/ Livestock”或“/ Livestock /”结尾的URL。
第二个允许测试包含“/ Livestock /”但后来至少还有一个字符的URL,这不是“?”或“#”。

然后,你要使用if或者三元作业,或者你想做的任何事情来测试每一个。