开发者

asp.net allow german characters in Url

I am using RegularExpressionValidator control with

[http(s)?://]*([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

regular expression to validate Url. I need to allow german characters

(ä,Ä,É,é,ö,Ö,ü,Ü,ß)

in Url. What should be exact regular expr开发者_StackOverflowession to allow these characters?


I hope you are aware that it is not easy to use regex for URL validation, because there are many valid variations of URLs. See for example this question.

First your regex has several flaws (this is only after a quick check, maybe not complete)

See here for online check on Regexr

It does not match

http://RegExr.com?2rjl6]

Why do you allow only \w and - after the first dot?

but it does match

hhhhhhppth??????ht://stackoverflow.com

You define a character group at the beginning [http(s)?://] what means match any of the characters inside (You probaly want (?:http(s)?://) and ? after wards instead of *.

To answer your question:

Create a character group with those letters and put it where you want to allow it.

[äÄÉéöÖüÜß]

Use it like this

(?:https?://)?([äÄÉéöÖüÜß\w-]+\.)+[äÄÉéöÖüÜß\w-]+(/[-äÄÉéöÖüÜß\w ./?%&=]*)?

Other hints

The - inside of a character group has to be at the start or the end or needs to be escaped.

(s)? is s?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜