Avatar billede cort Nybegynder
20. juni 2001 - 17:54 Der er 5 kommentarer og
1 løsning

Regexp

Er der en der kan vise mig hvordan jeg laver et regexp object der kan godtager tal  mellem 0 og 9 ????

Det skal bygges ind i en function der ser således ud.:
function ValidateHour_From() {
    if (document.addaftale.start_time.value>23 || document.addaftale.start_time.value==\"\") {
        alert(\'Det angivne klokkeslæt er ikke gyldigt.\\nSkriv et tal der er mindre end 24.\')
        document.addaftale.start_time.value=\'<%=hour(now())%>\'
        }
        if (document.addaftale.start_time.value.indexOf(\"-\") != -1){
        alert(\"Minus kan ikke benyttes.\");
        document.addaftale.start_time.value=\'<%=hour(now())%>\'
    }
}
Avatar billede jakoba Nybegynder
20. juni 2001 - 17:58 #1
var dinregexp = /^[0123456789]+$/;

^                finder begundelsen af den streng du tester på
[0123456789]  et af disse tegn
+                1 eller flere gang
$                finder slutningen af strengen

mvh JakobA
Avatar billede jakoba Nybegynder
20. juni 2001 - 18:05 #2
i det aktuelle script skulle det vel være

var dinregexp = /^[0123456789]{1,2}$/;
        // {1,2} betyder \"det foregående tegn kan gentages mellem 1 og 2 gangegange.

og betingelsen bliver så:

  if (    dinregexp.test( document.start_time.value )
      &&  parseInt( document.start_time.value, 10 ) <= 23 ) {
    // så er det en gyldig timeværdi
  }

mvh JakobA
Avatar billede cort Nybegynder
21. juni 2001 - 09:13 #3
Kommmer function så til at se sådan her ud:

function ValidateHour_From() {
var dinregexp = /^[0123456789]{1,2}$/;
if (    dinregexp.test( document.start_time.value )
      &&  parseInt( document.start_time.value, 10 ) <= 23 ) {
    // så er det en gyldig timeværdi
  }

    }

for den virker nemlig ikke.
Avatar billede jakoba Nybegynder
21. juni 2001 - 09:29 #4
Hum. nåja, jeg har glemt at tage navnet på din form (\"addaftale\") med i addresseringen.

function ValidateHour_From() {
var dinregexp = /^[0123456789]{1,2}$/;
if (    dinregexp.test( document.addaftale.start_time.value )
    &&  parseInt( document.addaftale.start_time.value, 10 ) <= 23 ) {
    // så er det en gyldig timeværdi
  }
};

sorry. JakobA
Avatar billede cort Nybegynder
21. juni 2001 - 09:34 #5
Er du sikker på at denne regexp kun tillader tal mellem 0 og 9 ???

for der sker intet.

function ValidateHour_From() {
var dinregexp = /^[0123456789]{1,2}$/;
if (    dinregexp.test( document.addaftale.start_time.value )
    &&  parseInt( document.addaftale.start_time.value, 10 ) <= 23 ) {
    // så er det en gyldig timeværdi
    alert(\'Det angivne klokkeslæt er ikke gyldigt.\\nSkriv et tal der er mindre end 24.\')
    document.addaftale.start_time.value=\'<%=hour(now())%>\'
  }
}
Avatar billede cort Nybegynder
21. juni 2001 - 11:02 #6
//inName=feltets name attribut, time=tidspunkt,strError=fejlmeddelse
function ValidateHour_From(inName,time,strError) {
    if (document.forms[0].elements[inName].value >time || document.forms[0].elements[inName].value==\"\" || document.forms[0].elements[inName].value==0) {
        alert(strError)
        document.forms[0].elements[inName].value=\'<%=hour(now())%>\'
        }
        regExp = \'^[0123456789]+$\';
        if (document.forms[0].elements[inName].value.search(regExp) == -1) {
        alert(strError);
        document.forms[0].elements[inName].value=\'<%=hour(now())%>\'
    }
}

og det skulle virke, taks
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