在ASP.NET开发中主要的验证方法收藏 匹配双字节字符(包括汉字在内):[^\x00-\xff] 匹配空白行的正则表达式:\n\s*\r 匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?\1>|<.*? /> 匹配首尾空白字符的正则表达式:^\s*|\s*$ 匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 匹配网址URL的正则表达式:[a-zA-z]+://[^\s]* 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7} 匹配腾讯QQ号:[1-9][0-9]{4,} 匹配中国邮政编码:[1-9]\d{5}(?!\d) 匹配身份证:\d{15}|\d{18} 匹配ip地址:\d+\.\d+\.\d+\.\d+ 匹配特定数字: 匹配特定字符串:
验证手机的JS代码 <2>使用验证控件 自定义验证控件: <asp:CustomValidator ID="CustomValidator2" runat="server" ControlToValidate="tbMobile" ClientValidationFunction="checkCellPhone">asp:CustomValidator> 正则表达式验证控件(当然这种方法需要加入非空验证) <asp:RegularExpressionValidator ID="revPhone" runat="server" ControlToValidate="tbPhone" ValidationExpression="^(013|015|13|15)\d{9}$" ErrorMessage="手机号码格式错误!">asp:RegularExpressionValidator> <3>使用服务器端程序验证 public static bool ValidatePhone(string phone) 验证的种类: 1. 是否为空 使用ASP.NET自带的RequiredFieldValidator控件 <asp:RequiredFieldValidator ID="CheckUserNotNull" runat="server" ErrorMessage="用户名不能为空" ControlToValidate="txtUserName" Display="Dynamic"></asp:RequiredFieldValidator> 使用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="CheckIsNumber" runat="server" ControlToValidate="txtWebFlow" Display="Dynamic" ErrorMessage="网站流量只能填写数字" ValidationExpression="^[0-9]*[1-9][0-9]*$"></asp:RegularExpressionValidator> <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. 用户是否存在 前台: 后台: public partial class Callback_1 : System.Web.UI.Page, System.Web.UI.ICallbackEventHandler public void RaiseCallbackEvent(string eventArgument) public string GetCallbackResult() 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.手机号码验证 如果需要一些特殊的字符验证,请查看我收集的正则表达式。 ---------------------------------------------------------------- 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>
5. 将asp.net验证与ajaxControlToolKit结合使用: <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtAdminName" Display="None" ErrorMessage="名称请不要为空"></asp:RequiredFieldValidator> 6. 按回车键,光标移至下一个文本框:按文本框顺序设置TabIndex属性. |
转载于:https://www.cnblogs.com/shiguangshuo/p/5012846.html