2017-03-01 2 views
0

Ich versuche Regex innerhalb if zu verwenden. Seltsam, aber es funktioniert nicht. Wie kann es behoben werden?Regex innerhalb `if` prüfen

Es funktioniert:

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

Es funktioniert auch (nur für Testzwecke):

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

Aber dieses nicht funktioniert:

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

Typ sein ' 'lang-' +/[a-z] /' in der Browser-Konsole und sehen, was passiert. Sie führen keinen regulären Ausdruckstest durch, Sie verketten eine Regex mit einer Zeichenfolge, die eine Zeichenfolge erzeugt, und vergleichen sie dann mit einer anderen Zeichenfolge. Das hat nichts mit jQuery zu tun, also habe ich dieses Tag entfernt. – nnnnnn

+0

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

Antwort

4

Verwendung so etwas wie dieses

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

müssen Sie möglicherweise die Regex anpassen, da diese nur nach einem Zeichen sucht.

0

sein, weil typeof /[a-z]/ == 'object' und wo ''+/[a-z]/toString arbeiten und Ihr Ergebnis wird Zeichenfolge lang-/[a-z]/