C# 如何控制输入到MaskedTextBox的url

C# 如何控制输入到MaskedTextBox的url,c#,winforms,maskedtextbox,C#,Winforms,Maskedtextbox,我已将MaskedTextBox控件添加到表单中,并希望用户输入有效的url进行控制。我输入什么掩码代码来控制?您并不真的想屏蔽url,因为我认为屏蔽不支持正则表达式,掩码是一成不变的,没有通配符 例如,您可能有一个掩码用于: aaa,aaa,aaa 这只适用于像www.google.com这样的网站 面具非常适合于知道固定长度(如日期或邮政编码)的情况 网站的长度可以根据网站的不同而变化。最好在表单上有一个普通的文本框,并使用正则表达式验证它是否是一个网站,尽管这也不是一项容易的任务。因为有效

我已将MaskedTextBox控件添加到表单中,并希望用户输入有效的url进行控制。我输入什么掩码代码来控制?

您并不真的想屏蔽url,因为我认为屏蔽不支持正则表达式,掩码是一成不变的,没有通配符

例如,您可能有一个掩码用于: aaa,aaa,aaa

这只适用于像www.google.com这样的网站

面具非常适合于知道固定长度(如日期或邮政编码)的情况

网站的长度可以根据网站的不同而变化。最好在表单上有一个普通的文本框,并使用正则表达式验证它是否是一个网站,尽管这也不是一项容易的任务。因为有效网站有很多不同的变体

regex中的类似内容可以检查网站:

^((nntp|sftp|ftp(s)?|http(s)?|gopher|news|file|telnet):\/\/)?(([a-zA-Z0-9\._-]*([a-zA-Z0-9]\.[a-zA-Z0-9])[a-zA-Z]{1,6})|(([0-9]{1,3}\.){3}[0-9]{1,3}))(:\d+)?(\/[^:][^\s]*)?$
更多信息可在此处找到:

+1关于避免使用遮罩文本框的好建议。但是我认为他应该使用
Uri
类来验证URL,而不是试图重新实现逻辑。查看此问题了解如何:(参见:)。啊,是的,我忘记了.net有时有多方便,它们为您完成了大部分工作!