2017-03-01 107 views
0

我試圖在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://stackoverflow.com/questions/6603015/check-whether-a-string-matches-a-regex –

回答

4

使用這樣的事情

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

你可能不得不調整正則表達式,因爲這只是尋找一個字符。

0

其因爲typeof /[a-z]/ == 'object'並在''+/[a-z]/工作toString,你的結果將是字符串lang-/[a-z]/