如何在asp.net中验证身份证号码?

问题描述:

我是新在这所以很容易对我... :)如何在asp.net中验证身份证号码?

  1. 我需要验证,如果一个用户在我的网站输入的ID号是一个有效的ID。

如何检查?

我需要使用RegularExpressionValidator吗?

  1. 更重要的是,我还需要验证信用卡号码,我在网络中发现了一些RegularExpressions,但每个都与另一个不同,我不确定哪个一个使用.. 有谁知道od将适合所有信用卡的工作表达?

谢谢, Tsil。

+0

我们不知道您的应用程序中“有效ID”的含义,您需要提供更多信息。 – Oded 2010-09-07 14:43:01

你从来没有需要使用RegexValidator,它有时只是方便。
编辑:正则表达式只能检查一个字符串模式,不能做任何计算或其他需要数字的检查,而不是“数字序列”。

这一切都取决于你认为有效的“ID”。任何数字都是“有效的”还是有更多的规则?

对于信用卡号码,您还需要指定您认为有效的数字:只是一些数字(12我认为?),可能会添加点或空格?或者你想知道该卡本身是否有效?完全是一个完全不同的问题!

编辑:对于SSN,请参见wikipedia

+0

我在说社会安全号码, – tsil 2010-09-07 14:52:38

+0

我知道有一个算法来计算,但我找不到它,并且不知道如何使用它...关于信用卡的 – tsil 2010-09-07 14:53:08

+0

,我想确保卡号码是真的,没有人补足。 – tsil 2010-09-07 14:57:19

你在说什么样的ID?要登录的社会安全号码或用户ID?

由于您在信用卡和正则表达式验证器的背景下讨论它,我会假定您正在谈论一个社会安全号码。

反正,如果你正在谈论登录控件或类似请go here

关于社会安全号码,这取决于个人来自哪个国家以及个别国家如何设置他们的号码,但为了让您对您可能想要做的事有一点体会,请查看如何使用Regulat Expression Validators

但是,请您请不要自己验证信用卡号。有银行服务,您可以使用这个,到PayPal并检查他们的API for C#,这绝对会让您的用户在您的网站上感觉更舒适。

也使用SSL

正则表达式验证例如

<%@ language="C#" %> 
<form id="form1" runat="server"> 
    <asp:TextBox ID="txtName" runat="server"/> 
    <asp:Button ID="btnSubmit" runat="server" Text="Submit" /> 
    <asp:RegularExpressionValidator ID="regexpName" runat="server"  
            ErrorMessage="This expression does not validate." 
            ControlToValidate="txtName"  
            ValidationExpression="^[a-zA-Z'.\s]{1,40}$" /> 
</form> 

如果你想尝试一些正则表达式头部到最大resource there is.而且不要忘了read this

您可能还想要read User Input validation in ASP.NET from msdnLearn ASP.NET来自微软有一些伟大的视频ASP.NET Security,你可能会觉得有用。