tpl = '<li class="left">';
我想这样,如果我的var文本包含@Tim marshall:或@Mark Smyth:返回“right”类,但如果不是,则返回“left”的值
我知道我的起点是这样的:
var contains = text. if contains 'this' || 'that' = 'right' : 'left'
tpl = '<li class="' + contains + '">';
但是我不能100%确定如何做到这一点。
答案 0 :(得分:1)
var regex = new RegExp('/(.*)this|that(.*)/');
var contains = regex.test(text) ? 'right' : 'left'
答案 1 :(得分:1)
您可以使用String.match()
来测试字符串,如下所示:
var contains = text.match(/(@Tim marshall:|@Mark Smyth:)/) === null ? "left" : "right";
答案 2 :(得分:0)
使用三元运算符?
。
条件? true exp:false exp
tp1 = '<li class="' + ( text.indexOf('@Tim marshall') != -1 || text.indexOf('@Mark Smyth') != -1 ? 'left' : 'right' ) + '">';
或者这个更短:
tp1 = '<li class="' + ( ~text.indexOf('@Tim marshall') || ~text.indexOf('@Mark Smyth') ? 'left' : 'right' ) + '">';