webForumDet fria alternativet

Vad gör ^ i denna funktion?

ASP

4 svar · 318 visningar · startad av Oputres

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

Nu har jag lekt ihop en funktion med hjälp av Guffas e-mailvalideringsskript och ett jag hittade på forumet.

Syftet med funktionen är att tecken som kan förstöra en webbadress inte godkänns (åäö och mellanslag konverterar jag till aao och _ i ett senare skede).

Så här ser den ut:

Function Character(Text)
  With New RegExp  
    .Pattern="[^A-Za-zåäöÅÄÖ0-9 ]"
    Character = .Test(Text)
  End With
End function

(Anropas med:
If Character(Request.Form("F_ForeningensNamn")) Then
Response.Write "Otillåtna tecken"
End If)

Nu till en mycket liten fråga, vad gör ^-tecknet? Mellanslag godkänns vet jag och det måste ju bero på ^-tecknet, eller hur? Symboliserar den fler tecken? Skriver jag in ^-tecknet i formuläret går jag ju på nit.

Medlem sedan dec. 200012 464 inlägg
#2

Negation.

Medlem sedan feb. 2004333 inlägg
#3

Nu förstår jag inte riktigt. Accepteras -9 mm? Och vad anger mellanslag? Dem funkar ju nämligen.

Medlem sedan mars 20032 667 inlägg
#4

Här kan du läsa lite mer om vad tecknena i reguljära uttryck betyder och gör:
http://www.webeye.nu/default2.asp?que=asp/default.asp&exec=asp/artiklar/asp_11.asp

Medlem sedan maj 200591 inlägg
#5

[^A-Za-zåäöÅÄÖ0-9 ] betyder "alla tecken utom dem inom klamrarna", här alla tecken som inte är bokstäver eller siffror. Således accepteras inte "-9 mm" då det innehåller ett minustecken. (Minustecknet inom klamrarna är till för att visa en range, alltså alla tecken mellan det till vänster och det till höger om minustecknet. Mellanslag vet jag inte om man kan skriva sådär, \s brukar man väl kunna använda istället som matchar både space, ny rad och tab). Hmm, det där blev lite rörigt :h

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