Avatar billede flim Nybegynder
02. september 2004 - 10:29 Der er 4 kommentarer og
1 løsning

Kun tal

Jeg har et tekstfelt, hvor brugeren kun må indtaste tal fra 0-9

Hvordan fikses det?
Avatar billede ldanielsen Nybegynder
02. september 2004 - 10:52 #1
Det er faktisk javascript, men anyway.

Denne er let at forstå derfor vil jeg ikke vise dig den "fine" metode med Regular Expressions, men det vil roenving sikkert gerne :o)


<script language=javascript>

function doValidate(f){
  var isValid = true;
  if (!myIsNumeric(f.feltnavn.value)){
    alert("Kun tal her");
    isValid = false;
    }
  return isValid;
  }

var Chars = "0123456789";
function myIsNumeric(st){
  if (st == "") return (false)
  for (var i = 0; i < st.length; i++) {
    if (Chars.indexOf(st.charAt(i)) == -1){
      return (false);
      }
    }
  return true
  }
</script>

og

<form action="..." onSubmit="return doValidate(this);">
Avatar billede dennismp Nybegynder
02. september 2004 - 10:55 #2
Man bør ikke kun tjekke med javascript. Såeh, det løser ikke rigtig hans problem :)

if( is_numeric($tal) )

eller

if( ctype_digit($tal) )

eller

if( preg_match('/^\d+$/', $tal ) )

is_numeric genkender også tal med 'e' i (videnskabelig notation) - de gør de to andre ikke. ctype_digit er ikke i alle php installationer.

.. men der findes mange måder :)
Avatar billede ldanielsen Nybegynder
02. september 2004 - 12:32 #3
Du har ret, han skal checkke igen inden han gemmer i databasen
Avatar billede flim Nybegynder
02. september 2004 - 14:50 #4
dennis - smider du et svar og mine point har fundet en ejermand :)
Avatar billede dennismp Nybegynder
02. september 2004 - 15:57 #5
joda
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