har ett input-element med ett init-värde. (Dubbelklicka för att använda din mail i namnet)
vad jag nu vill är att med RegExp kunna kolla ifall den fortfarande har det värdet när användaren försöker skicka.
Ända lösningen jag kommer på är att kolla tecken för tecken. Men verkar väldigt klumpigt sätt att attackera problemet.
(/^[^D][^u][^b][^b][^e][^l]...[^n][^a][^m][^n][^e][^t]$/)
Nae, det funkar inte riktigt så.
grejjen är att jag har gjort ett färdigt script som jag sen kan använda på mina formulär. Just denna delen där den kollar ifall inmatningsfältet följer mönstret jag bestämt använder sig av RegExp.
Gör jag som du sa och skriver /^min sträng$/ är det ända rätta svaret just "min sträng" man vad jag vill komma åt är att exakt "min sträng" får inte skickas via formuläret.
Visst de funkar att skriva så här /^[^m][^i][^n][^ ][^s][^t][^r][^ä][^n][^g]$/ men i mina ögon ser det väldigt klumpigt ut.
Men mitt exempel var just bara det: ett exempel. Vill du inte att "Dubbelklicka för att använda din mail i namnet" skall skickas får du negera if-satsen och vidta lämplig åtgärd:
if (!new RegExp("^"+ s +"$").test(i)){
alert("Strängen är [b]ej[/b] 'Dubbelklicka för att använda din mail i namnet'");
}
För att kunna använda ett script måste jag anropa den statiskt, vilket i det här fallet ändast tillåter att jag ger input-elementet ett mönster som den skall följa. Visst, det skulle säkert funka att skriva scriptet och låta det göra si och ibland så beroende på vad man vill ha ut.
Jag antar att den här diskussionen slutligen kommer leda till att det går helt enkelt inte sätta en "förbjuden" sträng precis som det gör med tecken ([^xyz])
I scriptet har jag kan sätta olika egenskaper på mina inputfält. Där ibland ifall fältet måste vara ifyllt, om det ska jämnföras med nåt annat fält, ifall detta fältet inte är ifyllt måste detta vara ifyllt istället osv.
Sen har jag egenskapen "pattern" där jag bestämmer vilket mönster fältet skall följa (ifall de nu ska följa nåt mönster). Så säj exempelvis att jag har ett fält där jag vill att användaren skall skriva en e-mailadress skriver jag:
pattern : /^[\w-\.]+\@[\w\.-]+\.[a-zA-Z]{2,4}$/
vilket sen testas i
if(!pattern.test(this.objForm[fält].value)
och ditt exempel
"/^(min sträng)|(din sträng)|(vår sträng)$/
ger felmeddelande ifall användaren inte matat in "min sträng","din sträng","vår sträng" vilket är tvärtimot vad jag är ute efter
hmm, efter lite vidare tester visade det sig att /^[^a][^b][^c]$/ är ett väldigt dumt sätt att gå tillväga. Men följande RegExp förbjuder jag inte bara abc utan också admin, encitron osv osv. :r
Så jag gjorde helt enkelt en ny egenskap i scriptet och testar värdet på input-fältet mot egenskapen initval
/Jonas
262 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e