Det enlaste är väl att bara ange max antalet tecken för fältet med en maxlength="30" där 30 då blir antalet tecken som får användas.
Exempel:
<input type="text" name="namn" size="25" maxlength="30">
6 svar · 618 visningar · startad av Qaz
Hur gör jag för att kolla att ett ord i ett formulärfält inte överstiger ett visst antal bokstäver?
Det enlaste är väl att bara ange max antalet tecken för fältet med en maxlength="30" där 30 då blir antalet tecken som får användas.
Exempel:
<input type="text" name="namn" size="25" maxlength="30">
Jo, det är klart för ett formulär fält. Jag tror att jag var lite otydlig, det är frågan om att hitta en "onaturligt" långt ord i ett textfield
aha.. testa med $value =~ s/(\S{30})/$1 /g; i skriptet där du läser in formuläret.
30 ändrar du till den siffra du vill ha och $value till det som är lämpligt i ditt fall.
Förhoppningsvis blir det ett blanksteg efter det antal tecken som angivits...
Om jag nu har fattat det hela rätt så ska $value ersättas av den sträng som jag vill söka igenom.
Dvs. om mitt textfield finns i strängen $text så ska det stå $text =~ s/(\S{30})/$1 /g; och då ska $text inte innhålla några ord över 30 bokstäver?
Om det är så funkar det inte FlashX men tack iaf.
Fler förslag?
Du vill kasta bort eventuella ord som har fler än 30 tecken, men du vill behålla andra ord (kortare än 30 tecken) i samma sträng?
$text =~ s/\S{31,}//g;
Eller vill du helt enkelt skära av alla tecken efter det 30:e tecknet i en sträng?
$text =~ s/^(.{1,30}).*/$1/s;
Om inget fungerar så kan du kanske ge oss den del av koden som läser in fälten.
Både mitt och Robbans förslag borde fungera, fast med lite olika resultat.