2016-06-24 4 views
0

Ich bin sehr neu in JavaScript, also begann ich von Forms zu lernen. Bitte schauen Sie sich Code an und schlagen Sie vor.Basic Eingabefeld Validierung in Javascript

Ich versuche nur das erste Feld zu validieren, es muss Zeichenfolge enthalten, aber nicht numerisch und sollte auch keine alphanumerischen Zeichen enthalten. Wenn ich jedoch alphanumerische Zeichen eintrage, wird das Warnmeldungsfenster nicht angezeigt. Freundlicher Hinweis.

function checkFields() 
{ 
    var tname = document.getElementById("t0_name").value; 
    var texpense = document.getElementById("t1_expense").value; 
    var tdate = document.getElementById("t2_date").value; 
    var tamt = document.getElementById("t3_amt").value; 
    var tstatus = document.getElementById("t4_status").value; 
    var temail = document.getElementById("t5_email").value; 
    var alphanumeric = /[^a-zA-Z0-9]/; 
    if (tname == null || tname == "") { 
     document.getElementById("t0_name").style.border = "1px solid black"; 
     alert('should not be blank'); 
    } else if (!isNaN(tname)) { 
     alert('Should not be Numeric'); 
     document.getElementById("t0_name").style.border = "1px solid red"; 
    } else if (/[^a-zA-Z0-9]/.test(tname)) { 
     alert('Input is not alphanumeric'); 
    } 
} 

Dank Balkarisch

+1

"Alphanumerisch" enthält praktisch alle Zeichen (* Alphabet * und * numerisch *) ... Also was * sollte * es enthalten ?! – deceze

+0

Bedingung ist, dass das Eingabefeld nur Zeichen, keine Zahl und nicht einmal Alpha-Zahlen annehmen muss. –

+2

Sie wollen also ausschließlich die Zeichen A-Z zulassen? "Alpha-Nummern" ist keine Sache, es sind nur * Zahlen *. – deceze

Antwort

0

können Sie die folgende Regex verwenden, um nur Zeichen zu überprüfen und nicht alphanumerische das heißt Zeichen und Zahlen.

/^[a-zA-Z]+$/.test('Abc') // true 

/^[a-zA-Z]+$/.test('a1') // false 

In Ihrem regex Sie Zahlen von 0-9 angegeben haben, so ist das, warum es auf alphanumerische true zurück.

Sie können auch verwenden \ D das heißt eine nicht-stellige

/^[\D]+$/.test('A') 

Das + Zeichen vor der $ für ein oder mehrere Zeichen ist.

-1

var alphanumerisch =/[^ a-zA-Z] /; done ... danke