(转)VS部分验证控件的实现方法

    验证的种类:

1. 是否为空

使用ASP.NET自带的RequiredFieldValidator控件
<asp:RequiredFieldValidator ID="CheckUserNotNull" runat="server" ErrorMessage="用

户名不能为空" ControlToValidate="txtUserName"

Display="Dynamic"></asp:RequiredFieldValidator>

2. 字符长度

使用ASP.NET自带的RegularExpressionValidator控件.
<asp:RegularExpressionValidator ID="CheckLength" runat="server"

ControlToValidate="txtPassword" Display="Dynamic" ErrorMessage="密码不能少于六位"

ValidationExpression="[0-9,a-z,A-Z,_,@,#,$,%,^,&,*]

{6,20}"></asp:RegularExpressionValidator>
<asp:RegularExpressionValidator id="revTextBox1" runat="server" ForeColor="Red"

Display="Dynamic" ControlToValidate="textBox1" ValidationExpression="(\w|\W)

{1,100}">格式错误-只能输入不超过100个字符</asp:RegularExpressionValidator> 

3. 是否输入了中文

<asp:RegularExpressionValidator ID="checkReq" runat="server"

ControlToValidate="txtNumber"     Display="Dynamic" ForeColor="Red"

ValidationExpression="^[\u4e00-\u9fa5]{0,}$">请输入汉字

</asp:RegularExpressionValidator>

4. 是否是数字

<asp:RegularExpressionValidator ID="CheckIsNumber" runat="server"

ControlToValidate="txtWebFlow" Display="Dynamic" ErrorMessage="网站流量只能填写数

字" ValidationExpression="^[0-9]*[1-9][0-9]*$"></asp:RegularExpressionValidator>

5. 只允许输入字母

<asp:RegularExpressionValidator ID="checkReq" runat="server"

ControlToValidate="txtNumber" Display="Dynamic" ForeColor="Red"

ValidationExpression="[A-Za-z]+$">请输入英文大小写字母

</asp:RegularExpressionValidator>

6. 是否是字母、数字、下划线

<asp:RegularExpressionValidator ID="checkReq" runat="server"

ControlToValidate="txtNumber" Display="Dynamic" ForeColor="Red"

ValidationExpression="^\w+$">请输入数字字母和下划线

</asp:RegularExpressionValidator>

7. 是否是正确的E-mail格式

<asp:RegularExpressionValidator ID="CheckEmail" runat="server"

ControlToValidate="txtContactMail" Display="Dynamic" ErrorMessage="电子邮箱不合法"

ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)

*\s*"></asp:RegularExpressionValidator>

8. 是否是正确的邮政编码格式

<asp:RegularExpressionValidator ID="checkReq" runat="server"

ControlToValidate="txtNumber"     Display="Dynamic" ForeColor="Red"

ValidationExpression="[1-9]\d{5}(?!\d)">您输入的不是中国邮政编码

</asp:RegularExpressionValidator>

9. 是否是正确的电话号码格式

<asp:RegularExpressionValidator ID="checkReq" runat="server"

ControlToValidate="txtNumber" Display="Dynamic" ForeColor="Red"

ValidationExpression="\d{3}-\d{8}|\d{4}-\d{7}">您输入的电话号码格式错误

</asp:RegularExpressionValidator>
不涉及电话号码是否有效。如果有相关,需要后台配合。

10. 用户是否存在

前台:

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>验证用户是否存在</title>
<script>
function CallServer(inputcontrol,context)
{
    context.innerHTML = "加载中";
    arg = inputcontrol.value;
    <%= ClientScript.GetCallbackEventReference(this, "arg", "ReceiveServerData",

"context")%>; 
}
function ReceiveServerData(result,context)
{
    context.innerHTML = result;
}
</script>
</head>
<body>
<form id="form1" runat="server">
请输入用户名:<asp:TextBox ID="txtEnter" runat="server" οnblur="CallServer

(txtEnter,lblShow);"></asp:TextBox>
<asp:Label ID="lblShow" runat="server" Text=""></asp:Label>
</form>
</body>
</html>

后台:


public partial class Callback_1 : System.Web.UI.Page,

System.Web.UI.ICallbackEventHandler
{
    private string result;

    public void RaiseCallbackEvent(string eventArgument)
    {
        //与数据库中用户列表匹配,看是否存在该用户
        bool IsExist = true;
        if (eventArgument == "test")
        {
            IsExist = true;
        }
        else
        {
            IsExist = false;
        }
        if (IsExist == true)
        {
            result = "用户已经存在,请重新输入用户名称.";
        }
        else
        {
            result = "用户暂时不存在,您可以使用.";
        }
    }

    public string GetCallbackResult()
    {
        return result;
    }
}

11.两次密码输入是否一致

<asp:CompareValidator ID="CompareValidator1" runat="server"

ControlToCompare="txtPassword" ControlToValidate="txtPassword1" ErrorMessage="密码

不一致" Display="Dynamic"></asp:CompareValidator>

12.身份证验证

<asp:RegularExpressionValidator ID="checkReq" runat="server"

ControlToValidate="txtNumber" Display="Dynamic" ForeColor="Red"

ValidationExpression="\d{15}|\d{18}">您输入正确的身份证号

</asp:RegularExpressionValidator>

13.手机号码验证

<html>
<head>
<title>验证手机号</title>
<meta http-equiv="content-Type" content="text/html;charset=gb2312">
</head>
<body>
<!--把下面代码加到<body>与</body>之间-->
<script>
function aa(obj)
{
if(obj.length!=11) alert("这个手机号不存在!");
else if(obj.substring(0,2)!="13") alert("这个手机号不存在!");
else if(isNaN(obj)) alert("这个手机号不存在!");
else alert("这是个正确的手机号!");
}
</script>
<form name="codeN">
请输入手机号码:<input type="text" name="No"><input type="button" value="验证"

οnclick="aa(document.codeN.No.value)">
</form>
</body>
</html>

<asp:RegularExpressionValidator ID="checkReq" runat="server"

ControlToValidate="txtNumber" Display="Dynamic" ForeColor="Red"

ValidationExpression="^(013|015|13|15)\d{9}$">您输入正确的手机号码

</asp:RegularExpressionValidator>

如果需要一些特殊的字符验证,请查看我收集的正则表达式。

http://www.cnblogs.com/a311300/archive/2008/07/28/1254951.html#FeedBack

----------------------------------------------------------------

需要注意的问题:

1. 防注册机器人.使用随机验证码


2. 防文本框扩展操作:

不允许复制、剪切、粘贴

<asp:TextBox ID="txtPassword" runat="server" MaxLength="20" οncοpy="return false;"

oncut="return false;" οnpaste="return false;" TextMode="Password"

Width="142px"></asp:TextBox>

3. 传参数相关的问题:需要对数据进行加密解密。


4. 防SQL注入:使用存储过程或者SqlParameter。

5. 将asp.net验证与ajaxControlToolKit结合使用:


<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"

ControlToValidate="txtAdminName" Display="None" ErrorMessage="名称请不要为

空"></asp:RequiredFieldValidator>
<cc1:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server"

TargetControlID="RequiredFieldValidator1"></cc1:ValidatorCalloutExtender>

这样在出现空格时,会在txtAdminName文本框旁边出现动态提示。


6. 按回车键,光标移至下一个文本框:按文本框顺序设置TabIndex属性.


7.最后点击提交按钮.触发提交事件:在from中,设置DefaultButton值为提交按钮id.

转载于:https://www.cnblogs.com/shanlin/archive/2011/08/13/2137458.html

.Net 验证控件 操作简单,使用方便参数使用有详细介绍 拖入即可应用!!!!!! 添加到工具箱的步骤 1.将 Vincent.AutoAuthCode.dll 添加到项目的 Bin文件目录下 2.右键点击 Bin 目录 选择添加引用 找到添加的 Bin文件目录下 Vincent.AutoAuthCode.dll 3.在工具栏中,右键点击 常规 选项卡 再点击 选择项 4.在弹出的对话框中的右下方 点击 浏览 找到 Bin文件目录下 Vincent.AutoAuthCode.dll 打开 点击 确定 在 工具箱 的 常规选项 看到 AutcCode 控件 直接拖到要使用验证码的页面位置 即可。 页面的点击事件会触发验证,无需后台代码验证 一、控件特点: 1、使用方便,只需要从工具栏直接拖到页面即可自动验证,零代码使用。 2、自动完成客户端以及服务器的验证验证,Ajax验证,随用户输入即时 验证并友好提示。 3、可自定义验证码图片外观。 4、有水平方向垂直方向两种方式选择。 5、有数字、小写字母、大写字母三种及任意两种组合、三种组合字符选择。 6、兼容IE及FireFox。 二、使用说明。 1、属性。 IsMatch:指示用户输入的验证码是否正确 TextControlWidth:文本框控件宽度 NextImgText:提示更换图片信息,该提示信息同时显示于图片上面及图片左边 IsShowNextImgText:是否在图片左边显示提示更换图片信息 EnableNextImgText:是否充许换一张图片 ErrorShowType:验证码错误显示方式 CodeStringType:验证码字符类型,组合枚举值,例如CodeStringTypes.Number|CodeStringTypes.LowerLetter CodeStringLength:验证码字符长度,最少为4 ImageType:验证码图像类型 IsMatchCase:验证验证时是否区分大小写 LayoutDirection":控件部分排列方向,排列的部分包括文本框、图片、"换一张图片"文本 EnableClientValidate:是否使用客户端脚本验证验证内容包括是否为空、长度是否正确 ImageStyle:验证码图像样式 如: TextControlWidth="90px" 设置 输入验证码的文本框宽度 其中ImageStyle为复类属性,其公开属性如下: ImageStyle-ImgBgColor:图片背景色 ImageStyle-ImgNoiseColor:图片噪声颜色 ImageStyle-ImgBorderColor"图片边框颜色 ImageStyle-TextColor1:文本颜色 ImageStyle-TextColor2:文本颜色2(如果文本为单色则无效) ImageStyle-TextFontSize:文本字体大小,以像素(pix)为单位,验证码图像大小根据此而变化,如果ImgSize大于由该值指定的大小,则图像大小为ImgSize ImageStyle-ImgSize:验证码图像大小,以像素(pix)为单位,如果TextFontSize指定的大小大于该值,则图像大小为TextFontSize指定的大小 ImageStyle-Width:验证码图像大小的宽度,以像素(pix)为单位,如果TextFontSize指定的大小大于该值,则图像大小为TextFontSize指定的大小 ImageStyle-Height:验证码图像大小的高度,以像素(pix)为单位,如果TextFontSize指定的大小大于该值,则图像大小为TextFontSize指定的大小 如: ImageStyle-Width=70 设置验证码图像大小的宽度 (值必须是整数) ImageStyle-ImgBgColor=#1D3647 图片背景色 (值不要添加单、双引号 [''," "])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值