<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
登陆信息:<table style="width: 652px;
<tr>
<td style="width: 73px;
电子邮件<br />
地址:</td>
<td style="width: 156px;
<asp:TextBox ID="email" runat="server"></asp:TextBox></td>
<td style="
<asp:RequiredFieldValidator ID="emailFieldValidator1" ControlToValidate="email" Display=Dynamic runat="server" ErrorMessage="电子邮件" >*</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="emaliExpressionValidator1" runat="server" ControlToValidate="email" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ErrorMessage="电子邮件"> 不是有效的电子邮件地址。必须遵循此格式:[email protected]
</asp:RegularExpressionValidator></td>
</tr>
<tr>
<td style="width: 73px">
密码:</td>
<td style="width: 156px">
<asp:TextBox TextMode=Password ID="password" runat="server"></asp:TextBox></td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="password" Display=Dynamic runat="server" ErrorMessage="密码">*</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" ControlToValidate="password" ValidationExpression=".*[!@#$%^&*+;:].*" runat="server" ErrorMessage="输入密码">请输入密码</asp:RegularExpressionValidator></td>
</tr>
<tr>
<td style="width: 73px">
重新输入密码:</td>
<td style="width: 156px">
<asp:TextBox ID="Rpassword" runat="server" TextMode="Password"></asp:TextBox></td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="Rpassword"
Display="Dynamic" ErrorMessage="重新输入密码">*</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" ControlToValidate="Rpassword"
ErrorMessage="重新输入密码" ValidationExpression='.*[!@#$%^&*+;:].*'>重新输入密码</asp:RegularExpressionValidator>
<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="password"
ControlToValidate="Rpassword" ErrorMessage="CompareValidator">两次密码输入不一样</asp:CompareValidator></td>
</tr>
<tr>
<td style="width: 73px">
信用卡:</td>
<td style="width: 156px">
<asp:TextBox ID="card" runat="server"></asp:TextBox></td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="card"
Display="Dynamic" ErrorMessage="信用卡">*</asp:RequiredFieldValidator>
<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="card"
ErrorMessage="CustomValidator" ClientValidationFunction="ccClientValidate">请输入正确的卡号</asp:CustomValidator></td>
</tr>
</table>
</div>
<script language="javascript">
function ccClientValidate(source, arguments)
{
var cc = arguments.Value;
var ccSansSpace;
var i, digits, total;
// 只是示例。不是实际的信用卡算法。
// 基于 ANSI X4.13,使用 LUHN 规则(也称为模 10 算法)
// 执行生成和/或验证,并验证一些信用卡号的正确性。
// 获取数字,去除所有的非数字字符,应剩余 16 位数字
ccSansSpace = cc.replace(/\D/g, "");
if(ccSansSpace.length != 16) {
arguments.IsValid = false;
return; // 无效的信用卡号
}
// 转换为数字数组
digits = new Array(16);
for(i=0; i<16; i++)
digits[i] = Number(ccSansSpace.charAt(i));
// 每隔一位,将数字加倍然后将数字相加
for(i=0; i<16; i+=2) {
digits[i] *= 2;
if(digits[i] > 9) digits[i] -= 9;
}
// 将数字相加
total = 0;
for(i=0; i<16; i++) total += digits[i];
// 结果
if( total % 10 == 0 ) {
arguments.IsValid = true;
return; // 有效的信用卡号
}
else {
arguments.IsValid = false;
return; // 无效的信用卡号
}
}
</script>
<asp:Button ID="Button1" runat="server" Text="提交" />
</form>
</body>
</html>
|