正则表达式里`if if检查

正则表达式里`if if检查

问题描述:

我试图在if里面使用正则表达式。奇怪,但它不起作用。它如何被修复?正则表达式里`if if检查

它的工作原理:

var lang = 'lang-js'; 
if (lang == 'lang-js') { 
    alert('ok'); 
} 

它也能工作(只是为了测试目的):

var lang = 'lang-js'; 
if (lang == 'lang-' + 'js') { 
    alert('ok'); 
} 

但是这一次不工作:

var lang = 'lang-js'; 
if (lang == 'lang-' + /[a-z]/) { 
    alert('not ok'); 
} 
+0

类型' '朗' +/[A-Z] /'在浏览器控制台,并看看会发生什么。你并没有进行正则表达式测试,而是将一个正则表达式与一个字符串连接起来,该字符串产生一个字符串,然后将其与另一个字符串进行比较。这与jQuery无关,所以我删除了该标签。 – nnnnnn

+0

http://*.com/questions/6603015/check-whether-a-string-matches-a-regex –

使用这样的事情

if (/^lang-[a-z]/.test(lang)) { 

你可能不得不调整正则表达式,因为这只是寻找一个字符。

其因为typeof /[a-z]/ == 'object'并在''+/[a-z]/工作toString,你的结果将是字符串lang-/[a-z]/