2010-12-04 12 views
0

hallo jeder kann mir helfen, indem er einen Javascript-Code, um einen Benutzernamen validieren Textbox sollte keine Zahlen enthalten, muss es nur ein Zeichen enthalten.javascript validation

Antwort

0

Methode 1: isNaN

addEvent(document.getElementById('myForm'), 'submit', function() { 
    var val = document.getElementById('myInput').value; 
    if (isNaN(val) || val.indexOf('.') !== val.lastIndexOf('.') || val.split('.')[1].length > 2) { 
     alert('myInput can only contain numbers!'); 
    } 
}); 

Methode 2: RegExp

addEvent(document.getElementById('myForm'), 'submit', function() { 
    var val = document.getElementById('myInput').value; 
    if (!/^\d+\.?\d{0,2}$/.test(val) || val.charAt(-1) == '.') { 
     alert('myInput can only contain numbers!'); 
    } 
}); 

Methode 3: erlauben nur Eingabe von Zahlen

addEvent(document.getElementById('myInput'), 'keyup', function() { 
    // replace everything except digits and a decimal place on every keypress 
    this.value = parseFloat(this.value).toFixed(2); 
}); 

Bitte beachten Sie, dass Benutzer JavaScript deaktivieren kann, so dass Sie auch ungültige Formularwerte auf Serverseite behandeln soll.

Hier ist meine addEvent Funktion, die ich für Cross-Browser-Ereignisbehandlung verwendet haben, weil IE < 9 nur attachEvent unterstützt, und andere Browser unterstützen nur addEventListener.

function addEvent(element, eventType, eventHandler) { 
    if (window.addEventListener) { 
     element.addEventListener(eventType, eventHandler, false); 
    } else { 
     element.attachEvent('on'+eventType, eventHandler); 
    } 
} 

aktualisieren: jetzt nur zwei Ziffern werden nach einer Dezimalstelle erlaubt.

2

einen regulären Ausdruck verwenden:

(\d)+ 

Wenn Sie ein Spiel haben, haben Sie eine Nummer in der Zeichenfolge bekommen.

+0

+1 Regex ist der beste Weg zur Validierung, IMHO. – Liam

-1

Dieses versuchen:

if(!/\d*/.test(userName)) 
{ 
    //do something.. 
}