Avatar billede thomas_b Nybegynder
15. juli 2008 - 23:37 Der er 14 kommentarer

Ændring af script - kun tal under f.eks. 6

Hej...

Jeg har fået lavet mig dette script som kun finder tal... men jeg vil gerne have det modificeret lidt så jeg kan difinere kun til f.eks. under tallet 6 (dvs, 1,2,3,4,5 -og ikke 6,7,8,9,10,11.....)
Nogle der kan hjælpe med det?
Avatar billede coderdk Praktikant
16. juli 2008 - 00:54 #1
/^[0-6]$/

?
Avatar billede coderdk Praktikant
16. juli 2008 - 00:55 #2
1-6 hvis du ikke vil have 0 med ;P
Avatar billede roenving Novice
16. juli 2008 - 01:26 #3
Hvordan finder tal ?-)

-- og så er det selvfølgelig 1-5, hvis det kun skal være positive tal under 6 !-)
Avatar billede coderdk Praktikant
16. juli 2008 - 10:01 #4
haha godt fanget roenving :)
Avatar billede thomas_b Nybegynder
16. juli 2008 - 13:21 #5
Ups... glemte vist og skrive scriptet... men mit nuværrende script ser således ud...:
if(this.value.match(/\D/)){this.focus();this.value=this.value.replace(/\D/g,'');};

Og ja self. den skal da tage 0,1,2,3,4,5 og ikke 6,7,8,9,10,11....
Kan i hjælpe mig her... :)
Avatar billede coderdk Praktikant
16. juli 2008 - 13:51 #6
if(this.value.match(/[1-5]/)){this.focus();this.value=this.value.replace(/[1-5]/g,'');};

den giver dog ikke så megen mening: hvis value indeholder tal, så erstat disse tal med intet?!
Avatar billede coderdk Praktikant
16. juli 2008 - 13:52 #7
blah:

if(this.value.match(/[^1-5]/)){this.focus();this.value=this.value.replace(/[^1-5]/g,'');};

sådan - så ikke lige at det var \D og ikke \d
Avatar billede thomas_b Nybegynder
16. juli 2008 - 15:45 #8
Kan man gøre noget ved dette problem... at man kan skrive i feltet 11,12,13,14 (dvs. i realiteten få den til at fjerne sammensætningen af to 1'taller osv. så man kan undgå de 2 ciffer!!!)
Avatar billede roenving Novice
16. juli 2008 - 15:54 #9
[^1-5] betyder præcis 1 ciffer, der ikke overstiger 5, skal du have to må du f.eks. [1-5]\d ...
Avatar billede coderdk Praktikant
16. juli 2008 - 20:38 #10
if ( this.value.match( /[1-5]/ ) )
{
  this.focus();
  this.value = this.value.replace(/[1-5]/g,'');
  if ( parseInt(this.value) > 5 )
  {
      alert("Kun 1 til 5");
      this.value = '';
  }
};

?
Avatar billede coderdk Praktikant
16. juli 2008 - 20:40 #11
roenvig, Ikke præcis, den checker blot om der ér et... ^[1-5]$ er præcist ét ;)

En alternativ funktion:

if ( !this.value.match( /^[1-5]$/ ) )
{
  alert("Kun 1 til 5");
  this.value = '';
}
Avatar billede thomas_b Nybegynder
16. juli 2008 - 22:01 #12
Hvordan ville i implantere dette sammen med et input f.eks. : onkeyup="if(this.value.match(/[^1-5]/)){this.focus();this.value=this.value.replace(/[^1-5]/g,'');};"
Avatar billede roenving Novice
17. juli 2008 - 16:51 #13
Jepz !-)
Avatar billede thomas_b Nybegynder
18. juli 2008 - 15:48 #14
Det virker ikke optimalt...! :(
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
Kurser inden for grundlæggende programmering

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