webForumDet fria alternativet

Byta ut alla tecken som inte är bokstäver eller siffror med regexp

ASP

4 svar · 424 visningar · startad av web00132

Medlem sedan maj 2001797 inlägg
Frågan#1

Har en regexp pattern funkar finfint och ser ut så här:

searchtext = request.form("searchText")

set objRxp=new RegExp
objRxp.Pattern="[^A-Za-z0-9åäöÅÄÖ ]"
	
if not objRxp.Test(searchText) then
	response.write "texten innehåller bara bokstäver och/eller siffror"
else
	response.write "texten innehåller andra konstiga tecken"
end if

Den skiljer på strängar som har bokstäver, siffror och mellanslag och de som har andra tecken. Ifall strängen skulle innehålla andra tecken, hur tar jag bort dessa?

Medlem sedan dec. 20025 483 inlägg
#2
else
  objRxp.global = true
  searchText = objRxp.replace(searchText, "")
end if
Medlem sedan maj 2001797 inlägg
#3

Jesus, va lätt! :)
Men varför sätter du objRxp.global = true? Vad innebär det?

Medlem sedan dec. 20025 483 inlägg
#4

Det innebär att alla förekomster av [^A-Za-z0-9åäöÅÄÖ ] skall ersättas med den tomma strängen. Med global = false hade endast den första träffen ersatts.

:)

Medlem sedan maj 2001797 inlägg
#5

Aha, smidigt. Stort tack för hjälpen! :bire

259 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)