📄 customvalidatorluhn.aspx
字号:
<%@ Page Language="C#"%>
<script runat=server>
void Button_Click( object s, EventArgs e)
{
if ( IsValid )
Response.Redirect( "Thankyou.aspx" );
}
void ValidateCCNumber( object s, ServerValidateEventArgs e )
{
bool blnIsEven = false;
string strCCNumber = String.Empty;
string strDigits = String.Empty;
int intCheckSum = 0;
// Strip away everything except numerals
foreach (char letter in e.Value)
if (Char.IsNumber(letter))
strCCNumber += letter;
// if nothing left, then fail
if ( strCCNumber == String.Empty )
e.IsValid = false;
else
{
// double every other digit
for (int intCounter = strCCNumber.Length - 1;intCounter >= 0; intCounter--)
{
if (blnIsEven)
strDigits += Int32.Parse( strCCNumber.Substring(intCounter,1) ) * 2;
else
strDigits += Int32.Parse( strCCNumber.Substring(intCounter,1) );
blnIsEven = !blnIsEven;
}
// Calculate CheckSum
foreach (Char letter in strDigits)
intCheckSum += Int32.Parse( letter.ToString() );
// Assign results
e.IsValid = (( intCheckSum % 10 ) == 0 );
}
}
</script>
<html>
<head><title>CustomValidatorLuhn.aspx</title></head>
<body>
<form Runat="Server">
Enter your credit card number:
<br>
<asp:TextBox
ID="txtCCNumber"
Columns="20"
MaxLength="20"
Runat="Server" />
<asp:CustomValidator
ControlToValidate="txtCCNumber"
OnServerValidate="ValidateCCNumber"
Display="Dynamic"
Text="Invalid Credit Card Number!"
Runat="Server" />
<p>
<asp:Button
Text="Submit!"
OnClick="Button_Click"
Runat="Server" />
</form>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -