2010-12-27 5 views
0

Die folgende Aussage, wenn provider[x].prefixRegExp = /^5[1-5]/ und val = 55 nicht wahr zurückkommt ... mache ich etwas falsch?Regex nicht die Prüfung bestanden

if (provider[x].prefixRegExp.test(val)) { 
    $('#payment-panel .credit-card-type .'+provider[x].name).addClass('selected').attr('rel', x); 
} 

Antwort

0

/^5[1-5]/.test(55) tatsächlich tut return true. Stellen Sie sicher, dass provider[x].prefixRegExp und val wie erwartet sind, indem Sie alert(provider[x].prefixRegExp + ' ' + val); vor diesen Zeilen und alert("it is true, your css or jquery selector is broken"); in der if-Bedingung hinzufügen.

+2

Oder verwenden console.log statt Alarm gleich, ob Sie Firebug oder ähnliches verwenden. Es ist ein bisschen leichter zu verfolgen. – NickAldwin

0

Just in Browser-Konsole geprüft:

>> /^5[1-5]/.test("55") 
<< true 

sieht so wie Ihr val nicht 55 oder Ihre provider[x].prefixRegExp nicht die /^5[1-5]/

Verwandte Themen