Avatar billede codebase Praktikant
29. juni 2003 - 15:00 Der er 16 kommentarer og
2 løsninger

validering af a-z og 0-9

Hvordan kan jeg kontrollere at en string kun har a-z og/eller 0-9 samt max en bindestreg. (-)
Avatar billede grunken Nybegynder
29. juni 2003 - 15:57 #1
sådan omtrent :)

nu er jeg ikke regExp guro, men den burde være der :)

<script language="javascript" type="text/javascript">

function check(){
exp=/[a-zA-Z0-9]{1,}\-{0,1}[a-zA-Z0-9]{1,}$/;
  if (exp.test(document.forms[0].tekst.value))
  alert('wheeeeeeeee');
  else
  alert('piiiiiis');
}
</script>

<form>
<input type="text" name="tekst" onchange="check();">
</form>

som der ser ud nu skal det indtastes sådan :

a-a = gyldig
-a  = ugyldig
a-  = ugyldig
Avatar billede grunken Nybegynder
29. juni 2003 - 16:04 #2
måske man skulle fjerne A-Z ?
Avatar billede roenving Novice
30. juni 2003 - 02:26 #3
Øeh .. måske skulle man også:

<script language="javascript" type="text/javascript">

function check(v){
exp=/[a-z0-9]+\-{0,1}[a-z0-9]+$/;
  if (exp.test(v))
  alert('wheeeeeeeee');
  else
  alert('piiiiiis');
}
</script>

<form>
<input type="text" name="tekst" onchange="check(this.value);">
<input type="text" name="tekst2">
</form>

Lidt nemmere ?-)
Avatar billede codebase Praktikant
30. juni 2003 - 02:33 #4
30 points mere .. hvis..

Hvordan kan jeg så sikre mig, at min string ikke starter eller slutter med en bindestreg ?
Avatar billede roenving Novice
30. juni 2003 - 02:37 #5
exp=/[a-z0-9]+\-+[a-z0-9]+$/;
Avatar billede codebase Praktikant
30. juni 2003 - 07:26 #6
tror ikke det virker helt endnu.

min string skal min. være 3 tegn, og max. 63 tegn. Udover en bindestreg, er det kun a-z og 0-9 som er gyldige tegn.
Den behøver ikke at indeholde en bendestreg, men hvis den gør det, må der ikke forekomme dobbelt bindestreg. Min string må ikke starte eller slutte med en bindestreg.

eks.:
a : false
aaa : true
_aaa :false
aaa_ :false
a-a : true
a--a : false

..'drop' et svar :-)
Avatar billede nielle Nybegynder
30. juni 2003 - 07:45 #7
Jeg synes at din opgave ændre sig hele tiden?!

Du bør nok opgive at verifisere alting i et super-regulært udtryk:

function check(v)
{
  regEx = /^[a-z0-9]+[a-z0-9\-][a-z0-9]+$/;
  if (regEx.text(v))
  {
    // Kommer kun her hvis at der er: mindst 3 tegn, højst et -, og - ikke er i starten eller enden af strengen
    if (v.length <= 63)
    {
      // Kommer kun her hvis der er maks 63 tegn.
      GårDetDuVil(v)
    }
  }
}
Avatar billede nielle Nybegynder
30. juni 2003 - 07:48 #8
Og hvad skete der egentlig med de 30-ekstre du stillede i udsigt 02:33:20! ;)
Avatar billede codebase Praktikant
30. juni 2003 - 11:44 #9
jaja, det er her.

hvordan kan jeg validere antallet af dot i min string ?
grunken > svar på spg.
Avatar billede nielle Nybegynder
30. juni 2003 - 12:01 #10
Hvor kom der nu dots fra?

Hvor mange dots vil du da have?
Avatar billede grunken Nybegynder
30. juni 2003 - 12:08 #11
ligger et svar så :)
Avatar billede codebase Praktikant
30. juni 2003 - 12:41 #12
der må max være en dot
Avatar billede nielle Nybegynder
30. juni 2003 - 12:51 #13
...og er der så nogen restriktion på hvor den maksimalt ene dot må ligge henne?
Avatar billede codebase Praktikant
30. juni 2003 - 12:52 #14
ja, ikke i starten eller slutningen
Avatar billede nielle Nybegynder
30. juni 2003 - 12:57 #15
Og er der andre ting du vil have med, nu med det samme?
Avatar billede codebase Praktikant
30. juni 2003 - 13:09 #16
kan ikke lige komme på mere, tak
ellers opretter jeg et spg mere.
Avatar billede nielle Nybegynder
30. juni 2003 - 13:12 #17
Værsgo:

function check(v)
{
  regEx = /^[a-z0-9]+[a-z0-9\-][a-z0-9]+$/;
  if (regEx.text(v))
  {
    regEx = /^[a-z0-9]+[a-z0-9\.][a-z0-9]+$/;  // Metoden er den samme som for '-' tegnet!
    if (regEx.text(v))
    {
      // Kommer kun her hvis at der er: mindst 3 tegn, højst et -, og - ikke er i starten eller enden af strengen
      if (v.length <= 63)
      {
        // Kommer kun her hvis der er maks 63 tegn.
        GørDetDuVil(v)
      }
    }
  }
}
Avatar billede nielle Nybegynder
30. juni 2003 - 13:18 #18
Eller:

function check(v)
{
  regEx1 = /^[a-z0-9]+[a-z0-9\-][a-z0-9]+$/;
  regEx2 = /^[a-z0-9]+[a-z0-9\.][a-z0-9]+$/;  // Metoden er den samme som for '-'
 
  if (regEx1.text(v) && (regEx2.text(v))
  {
    // Kommer kun her hvis at der er: mindst 3 tegn
    // ...højst et '-', og '-' ikke er i starten eller enden af strengen
    // ...højst et '.', og '.' ikke er i starten eller enden af strengen
    if (v.length <= 63)
    {
      // Kommer kun her hvis der er maks 63 tegn.
      GørDetDuVil(v)
    }
  }
}
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