Avatar billede stenger Nybegynder
13. juli 2006 - 19:09 Der er 3 kommentarer og
1 løsning

Tal-validering

Nu spørger jeg lige dumt, ok? :)

Den vil bare ikke som jeg vil. Feltet 'realname' må ikke indeholde nogen tal, nogensteder i tekstboksen. Hvorfor virker følgende ikke?

function afsendelse(form){
if(form.realname.value=="") {
alert("Please enter your name!");
form.realname.focus();
return false;
}
if(!isNaN(form.realname.value) == true) {
alert("Please enter your name!");
form.realname.focus();
return false;
}

Hvis jeg først taster et tal ind, melder den fint fejl. Skriver jeg derimod først et bogstav og så et tal... så validerer den feltet som værende true og kører videre. Hvordan får jeg den til at checke at der overhovedet ikke er noget tal, nogen steder i tekstfeltet?

/Stenger
Avatar billede nielle Nybegynder
13. juli 2006 - 20:00 #1
isNaN() har intet at gøre med om der er et tal et eller andet sted i teksten. Den tester kun om det hele er et tal eller ej.

Prøv at ændre denne linje:

if(!isNaN(form.realname.value) == true) {

- til:

if(form.realname.value.match(/\d/)) {
Avatar billede stenger Nybegynder
13. juli 2006 - 21:02 #2
Det virker! Kanon! Smid et svar... og forklar gerne lige hvad (/\d/) lige præcis betyder? Bare sådan for læringens skyld... :)
Avatar billede nielle Nybegynder
13. juli 2006 - 21:09 #3
Svar :^)

/\d/ er et såkaldt regulært udtryk. \d er selve kernen i det - \d står for "digit", og betyder "et af cifrene 0, 1, 2, 3, 4, 5, 6, 7, 8 eller 9".

Testen:

form.realname.value.match(/\d/)

- skal derfor læses som "er et af cifrene 0-9 tilstede i form.realname.value"?
Avatar billede nielle Nybegynder
13. juli 2006 - 21:09 #4
... svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester