webForumDet fria alternativet

Ord i formulär fält

Programmering

6 svar · 583 visningar · startad av Qaz

Medlem sedan feb. 2000211 inlägg
Frågan#1

Hur gör jag för att kolla att ett ord i ett formulärfält inte överstiger ett visst antal bokstäver?

Medlem sedan nov. 19991 033 inlägg
#2

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">

Medlem sedan feb. 2000211 inlägg
#3

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

Medlem sedan nov. 19991 033 inlägg
#4

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...

Medlem sedan feb. 2000211 inlägg
#5

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?

Medlem sedan dec. 19992 555 inlägg
#6

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 >

Medlem sedan nov. 19991 033 inlägg
#7

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.

250 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)