C# 中文本框输入的验证
如何在 C# 中使用正则表达式验证手机号码文本框和电子邮件文本框?
我想首先在前端本身验证这些,以便数据库不会收到任何无效的输入,甚至不会检查它。
我正在使用 Windows 窗体。
How to validate a mobile number textbox and email textbox using regular expressions in C#?
I want to validate these first at the front end itself so that the database doesn't receive any invalid input or rather even checks for it.
I am using Windows Forms.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
您可以使用 System.Text.RegularExpression
我将为您提供一个电子邮件验证示例
,然后声明一个正则表达式
,并说您的电子邮件文本框是 txtEmail,
然后写,
更新
不是正则表达式方面的专家,
这是正则表达式的链接验证电子邮件
您可以从提供的链接找到有关正则表达式的更多详细信息。
You can use
System.Text.RegularExpression
I'll give you an example for e-mail validation
then declare a regular expression like
and say your e-mail textbox is
txtEmail
then write,
Update
Not an expert on regular expressions,
Here's the link to Regular expression to validate e-mail
you can find more details about the regEx from the link provided.
此代码将检查电子邮件地址是否有效:(
来源:http://msdn .microsoft.com/en-us/library/01escwtf.aspx)
对于电话号码来说,事情没那么简单 - 答案取决于您在世界的哪个地方、是否允许使用国际号码、手机的使用情况带编号(例如,在美国,您无法仅根据电话号码判断它是否是手机号码)。在维基百科上查找“电话编号计划”以获取更多信息。
This code will check whether an email address is valid:
(source: http://msdn.microsoft.com/en-us/library/01escwtf.aspx)
For phone numbers, it's not so simple - the answer depends on where in the world you are, whether you want to allow international numbers, how mobiles are numbered (for example, in the USA, you can't tell from a phone number alone whether it's a mobile number or not). Look up "Telephone numbering plan" on Wikipedia for more information.
在 ASP.NET 中,您可以使用 RegularExpressionValidator 控件。
要确定正则表达式本身,您可以尝试使用 Expresso 等工具。
请注意,如果您想允许所有可能有效的电子邮件格式,则使用正则表达式验证电子邮件是一项艰巨的任务;在这种情况下,最好的办法可能是向输入的地址发送一封带有确认链接的电子邮件,当单击该链接时,您认为该邮件是有效的。
In ASP.NET you can use a RegularExpressionValidator control.
To determine the regular expression itself, you can experiment with a tool like Expresso.
Be aware that validating emails with regular expressions is a hard task, if you want to allow all the possibly valid email formats; probably the best thing to do in that case would be to send an email to the entered address with a confirmation link, and when that link is clicked, you assume that the mail is valid.
请参阅使用正则表达式验证电子邮件地址(< a href="http://en.wikipedia.org/wiki/The_Code_Project" rel="nofollow noreferrer">代码项目)用于电子邮件验证并参见解析和验证手机号码的最佳实践(Stack ;溢出)用于手机号码验证。
See Email Address Validation Using Regular Expression (The Code Project) for email validation and see Best practice for parsing and validating mobile number (Stack Overflow) for mobile number validation.
我以这种方式进行数字验证,如下面的代码所示。
无需逐个字符检查,用户文化受到尊重!
I do the numeric validation this way as shown in the code below.
No need for checking char by char and user culture is respected!
对于电子邮件验证,请在文本框的失去焦点事件中使用以下正则表达式。
使用 System.Text.RegularExpression 命名空间作为正则表达式。
然后使用下面的代码检查它
For Email Validation use the following Regex Expression as below in Lost Focus event of the Textbox.
Use System.Text.RegularExpression Namespace for Regex.
and then check it by using below code
对于电话号码验证,请在文本框的 PreviewTextInput 事件中使用以下代码。
For PhoneNumber Validation use the following code in PreviewTextInput event of the Textbox.