⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 customvalidatorluhn.aspx

📁 asp.net技术内幕的书配源码
💻 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 + -