Velvidende at du spørger om php vil jeg nu alligevel spørge:
Validering af formularer sker langt nemmeste og hurtigst vha.
client-side javascript - som tillige også forstår regulære udtryk.
Jeg har hapset følgende:
<HTML>
<HEAD>
<TITLE>Regular Expression</TITLE>
<SCRIPT>
three=/^[a-z]{3}$/;
function validate() {
if (three.test(mainform.TEXT1.value)) tlc='';
else tlc=' not';
alert(mainform.TEXT1.value + 'is'+tlc+' exactly three
consecutive lower case letters.');
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="mainform" onsubmit="validate();">
<INPUT TYPE="TEXT" NAME="TEXT1">
<INPUT TYPE="SUBMIT">
</FORM>
</BODY>
</HTML>
fra:
http://www.webdevelopersjournal.com/articles/jscript_forms2.html
Dit egentlige spørgsmål strander lidt på, at du ikke angiver hvorledes
du valideringen? Må der ikke forekommer tal eller skal der (som i
eksemplet overfor) kun forekomme tre karakterer.
Nils
On Tue, 24 Jul 2001 23:08:01 +0200, "Jens Pedersen"
<jensq@lavasoft.dk> wrote:
>Hej NG
>
>Jeg er på min vej ind i PHPs fantastiske verden, som alle andre, stødt ind i
>problemer!
>Mit problem består i, jeg ikke kan validere et ganske normalt tekstfelt med
>ereg();
>
>Variablerne $navn er en variabel posted fra en formular.
>(jeg har kigget på webcafe.dk under artikler, hvor dette kodeudsnit står!)
>
><?php
> if(!ereg("[A-z0-9]+", $navn) {
> echo "Der er ikke indtastet et navn!"
> }
>?>
>
>1. Jeg kan ikke forstå intervallet "[A-z0-9]+". Bortset fra jeg kan regne
>ud, det går i intervallet A-Z og 0-9, men er det den rigtige måde at
>udtrykke intervallerne på?
>
>2. Hvad laver "+"-tegnet midt i det hele?
>
>3. Findes der evt. andre alternativer til ereg();?
>
>Jeg har kigget i manualen på php.net, men med mine PHP-kundskaber pt. siger
>syntaks-udtrykkene mig intet.
>Men et står mig fast. Jeg har ikke haft held med koden. Hvis nogen kunne
>hjælpe, ville det jo være skønt!
>