Avatar billede kama Nybegynder
03. marts 2001 - 23:16 Der er 3 kommentarer og
1 løsning

Validering af streng

Jeg skal bruge en funktion til at validere et formfelt med en alert-box.

Form-hovedet skal se nogenlunde således ud:
<FORM method=\"post\" action=\"opdater.php3\" onSubmit=\"checkForm(this);return false;\" >

Funktion skal se nogenlunde således ud:
<script language=javascript>   
function checkForm(theform) {
if (theform.elements[\"strengen\"] != xxxxxxxxxxxxx {
    alert(\"Strengen accepteres ikke!\");
    return false;
}
theform.submit();
}
</script>

Jeg kender ikke syntaksen, men funktionen skal validere en streng på formen \"abcdef01\".
De seks første karakterer skal altid være abcdef og de to sidste skal være et tal mellem 01-30.

Kan nogen skrive en fornuftig algoritme?

I Java ville jeg skrive metoden cirka sådan her:

public static boolean checkStreng(String streng) {
    int cifre = Integer.parseInt(streng.substring(6,8));
    String karakterer = streng.substring(0,6);
    if (karakterer.equals(\"abcdef\") && cifre < 30 && cifre > 0)
        return true;
    return false;
}

/kama
Avatar billede erikjacobsen Ekspert
03. marts 2001 - 23:25 #1
<script language=javascript>   
function checkForm(theform) {
  ddd=theform.feltnavnet.value+\"\";
  if ((a=ddd.match(\'^abcdef([0-9][0-9])$\')) && (a[1]+0>=1) && (a[1]+0<=30)) {
    // ok
  } else {
    alert(\"Strengen accepteres ikke\");
    return false;
  }
  return true;
}
</script>


og i formen skriver du

  <form name=\"whatever\" action=\"...\" method=\"...\" onsubmit=\"return checkForm(this)\">
Avatar billede jakoba Nybegynder
03. marts 2001 - 23:31 #2
i javascript bliver det så:

<script language=\'javascript\'>

function validate ( theform ) {
  if (theform.elements[\"strengen\"].value.indexOf(\"abcdef\")==0
      && theform.elements[\"strengen\"].value.length==8
      && /\\d\\d/.test(theform.elements[\"strengen\"].value)
      && parseInt(theform.elements[\"strengen\"].value.substring(6)<31 ) )
    theform.submit();
    return true;
  };
  return false;
}; //end validate ( form-object )

</script>

mvh JakobA
Avatar billede erikjacobsen Ekspert
03. marts 2001 - 23:33 #3
Ups:

(a[1]-0>=1) && (a[1]-0<=30)
Avatar billede jakoba Nybegynder
03. marts 2001 - 23:35 #4
malplaceret parentes:
      && parseInt(theform.elements[\"strengen\"].value.substring(6)<31 ) )
bør være:
      && parseInt(theform.elements[\"strengen\"].value.substring(6))<31 )
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