2012-04-14 9 views
-2

Im ersten Block stelle ich sicher, dass das Passwort nicht 'Passwort' enthält. Es funktioniert perfekt.Javascript - Verwendung von indexOf zur Suche nach Strings

var element=document.getElementById('password'); 
    if (element.value.toLowerCase().indexOf('password') > -1){ //returns 0 or more if present 
    alert('Password may not contain the word `password`.'); 
    element.focus(); 
    return false; 
    } 

Im zweiten Block überprüfe ich, dass das Passwort nicht Vorname nicht containthe, es nicht funktioniert, was ich falsch gemacht habe?

//stop password of firstname 
    var element=document.getElementById('password'); 
    var firstname=document.getElementById('firstname'); 
    if (element.value.toLowerCase().indexOf(firstname.value) > -1){ //returns 0 or more if present 
    alert('Password may not contain the firstname.'); 
    element.focus(); 
    return false; 
    } 
+6

Haben Sie eine .toLowerCase() für Vorname.Wert vergessen, und dann schlägt der Test wegen Gehäusedifferenzen fehl? – AHM

+0

ja das war das problem, danke – davidjhp

+0

-2 für blind sein ?? Ja wirklich?? Ich habe in meiner 20-jährigen Karriere viele Male die gleichen Fehler gemacht. Manchmal braucht es nur ein zweites Augenpaar. Jetzt, da ich über 40 bin, brauche ich die zweite Augengruppe aus einem anderen Grund ... :) –

Antwort

3

Sie haben vergessen, den ersten Namen in Kleinbuchstaben:

// stop password of firstname 
var element = document.getElementById('password'); 
var firstname = document.getElementById('firstname'); 
if(element.value.toLowerCase().indexOf(firstname.value.toLowerCase()) > -1) { //returns 0 or more if present 
    alert('Password may not contain the firstname.'); 
    element.focus(); 
    return false; 
}
+3

D'oh !! ........... –

0

if (.. Element.value.toLowerCase() indexOf (FirstName.Value toLowerCase())> -1)

-1

Vielleicht ist es nicht die Frage, aber man kann in eine einfach und ausdruck Weise mit underscore.string das gleiches tun:

_.includes(element.value.toLowerCase(), firstname.value.toLowerCase()) 
Verwandte Themen