Benutzer mit den meisten Antworten
Regex Frage - Zeichenfolge ausschließen

Frage
-
Hallo zusammen,
es ist einfach banal, ich möchte ein Eingabefeld validieren mit einem Regexp.
Eigentlich speichere ich mir die Muster immer, aber ich finde es nicht wieder. Und zwar möchte ich gerne für die Eingabe bestimmte Zeichen ausschließen z.B. http:// oder ftp:// oder http://www.
Irgend ein Blöd*** schickt mir seit ein paar Tagen irgendwelche Links auf ein Kontaktformular. Hat jemand ein Beispielmuster für mich?
Vielen Dank im voraus.
Liebe Grüße, die Luzie!
Antworten
-
Hallo Luzie,
Allgemeine Infos zur Verwendung der regulären Ausdrucke in ASP.NET und eine Auflistung der meistverwendeter Ausdrucker finden Sie unter [1] und [2].
[1] http://msdn.microsoft.com/de-de/library/ff650303.aspx
[2] http://msdn.microsoft.com/de-de/library/ms972966.aspxViele Grüße,
Anna Koch
App-Entwickler-Hotline für MSDN Online Deutschland
Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entwickler-Hotline: http://www.msdn-online.de/Hotline
Es gelten für die App-Entwickler-Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu Markenzeichen Informationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die App-Entwickler-Hotline.- Als Antwort markiert Stefan FalzModerator Samstag, 26. Januar 2013 14:25
-
Hallo, um zu überprüfen ob es sich um einen Link handelt, kannst du mal folgende Seite ansehen:
http://blog.jan-welker.de/2007/11/24/ASPNETExterneUndInterneLinksUnterscheiden.aspx
Dort findest du ein Regex der Internet adressen sucht.
Um Alternativ bestimmte Seiten noch zuzulassen (deine eigene, ...) kannst du folgendes verwenden:
(ftp|http)s?://(?!(meine\.com|microsoft\.com))
Dieser Regex schlägt Alarm bei Strings, die mit einem ftp(s) oder http(s) anfangen und nicht auf meine.com oder microsoft.com verweisen.
Zum Validieren kannst du bspws. die Abfrage in die Senden-Funktion einbauen.
Koopakiller [kuːpakɪllɐ] | Webseite | Code Beispiele | Facebook | Snippets
- Als Antwort markiert Stefan FalzModerator Samstag, 26. Januar 2013 14:25
Alle Antworten
-
Hallo, um zu überprüfen ob es sich um einen Link handelt, kannst du mal folgende Seite ansehen:
http://blog.jan-welker.de/2007/11/24/ASPNETExterneUndInterneLinksUnterscheiden.aspx
Dort findest du ein Regex der Internet adressen sucht.
Um Alternativ bestimmte Seiten noch zuzulassen (deine eigene, ...) kannst du folgendes verwenden:
(ftp|http)s?://(?!(meine\.com|microsoft\.com))
Dieser Regex schlägt Alarm bei Strings, die mit einem ftp(s) oder http(s) anfangen und nicht auf meine.com oder microsoft.com verweisen.
Zum Validieren kannst du bspws. die Abfrage in die Senden-Funktion einbauen.
Koopakiller [kuːpakɪllɐ] | Webseite | Code Beispiele | Facebook | Snippets
- Als Antwort markiert Stefan FalzModerator Samstag, 26. Januar 2013 14:25
-
Hallo
erstmal vielen herzlichen Dank für die Hilfe.
Ich stehe ja immer etwas auf Kriegsfuss mit dem Customvalidator. Der greift bei mir nicht. möglicherweise mach ich irgendetwas falsch.
Das ist der Code
<asp:customvalidator id="cvKomm" controltovalidate="kommentar" errormessage="Die Eingabe ist falsch. " onservervalidate="servervalidation" ValidationGroup="x2" display="dynamic" runat="server">*</asp:customvalidator>
im code-Behind-Bereich
Sub ServerValidation(source As Object, args As ServerValidateEventArgs) Dim RegExVal As New Regex("http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?") If RegExVal.IsMatch(args.Value) Then args.IsValid = False Else args.IsValid = True End If End Sub
Der springt einfach nicht an. Ich habe noch weitere 4 Felder, die ich validiere, da habe ich keine Probleme.
Wenn ich allerdings etwas trickse
Private Function IsURL(ByVal candidate As String) As Boolean Dim regex As New Regex("http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?") Return regex.IsMatch(candidate) End Function Protected Sub btn_mail_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn_mail.Click If IsURL(Me.kommentar.Text) = False Then .... End If End Sub
dann greift der Customvalidator, aber erst ganz zum Schluss. Gibt es dafür eine Erklärung? Was ist falsch?
Liebe Grüße, die Luzie!
-
Hallo Luzie,
Allgemeine Infos zur Verwendung der regulären Ausdrucke in ASP.NET und eine Auflistung der meistverwendeter Ausdrucker finden Sie unter [1] und [2].
[1] http://msdn.microsoft.com/de-de/library/ff650303.aspx
[2] http://msdn.microsoft.com/de-de/library/ms972966.aspxViele Grüße,
Anna Koch
App-Entwickler-Hotline für MSDN Online Deutschland
Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entwickler-Hotline: http://www.msdn-online.de/Hotline
Es gelten für die App-Entwickler-Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu Markenzeichen Informationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die App-Entwickler-Hotline.- Als Antwort markiert Stefan FalzModerator Samstag, 26. Januar 2013 14:25