Antall tegn i skjemafelt

kongen

kongemedlem
Hvordan sjekker man at et skjemafelt har minst 5 bokstaver?
Hvordan sjekker man at et skjemafelt har minst 5 tall?
Hvordan sjekker man at et skjemafelt har minst 5 tegn?
 

adeneo

Medlem
I hvilket språk ?

/\d/g = matcher tall globalt
/\D/g = matcher alt annet enn tall globalt
/[a-z]/gi = matcher a-z case-insensitive globalt
/[a-zæøå]/gi = tar med æøå

/\d{5,}/ = matcher grupper på minst 5 tall osv...

^ og $ er start og slutt på en streng, slik at du kan skrive en regex som gjør alt, men det enkleste er sikkert å skrive tre og sjekke om alle tre er "true", javascript eksempel (omtrent det samme i PHP)

Kode:
string.match(/\d/g).length >= 5 // minst fem tall
string.match(/[a-zæøå]/gi).length >= 5 // minst fem bokstaver
string.length >= 5 // minst 5 tegn totalt
 

kongen

kongemedlem
Takk for svar :)

I hvilket språk ?

php, jeg skal sjekke om felter er riktig utfylt

HTML:
<form>
<input type="text" name="navn" id="navn" />
<input type="text" name="postnr" id="postnr" />
<input name="" type="button" value="Send" />
</form>
 

adeneo

Medlem
Folk heter så mye rart, slik at navn bør normalt valideres ganske slapt, bare å sjekke at det er bokstaver og ikke noe tullball holder gjerne.
Navn kan inneholde tegn med apostrofer og andre rare tegn, slik som æøå i Norge, osv, slik at "bare" bokstaver er for strengt det også.

Skal du putte det inn i en database så dytt navnet gjennom en eller annen form av real_escape_string eller et PHP filter, og sjekk at det faktisk er skrevet noe med strlen() for eksempel.

Postnummer er greiere, det er fire tall, og ferdig med, og den enkleste måten å sjekke at det er tall, og alltid fire av de, er vel :

PHP:
$postnr = trim( $_GET['postnr'] );

if ( ctype_digit($postnr) && strlen($postnr) == 4 )
 

kongen

kongemedlem
Hehe, ja det er mange som har rare navn, kanskje greit å bare sjekke at feltet ikke er tomt.
 
Topp