Hur gör jag för att kolla att ett ord i ett formulärfält inte överstiger ett visst antal bokstäver?
Ord i formulär fält
6 svar · 581 visningar · startad av Qaz
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;
------------------
Robban < robban@lipogram.com >
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.