博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET开发中主要的字符验证方法-JS验证、正则表达式、验证控件、后台验证
阅读量:6088 次
发布时间:2019-06-20

本文共 3579 字,大约阅读时间需要 11 分钟。

ASP.NET开发中主要的字符验证方法-JS验证、正则表达式、验证控件、后台验证2012年03月19日 星期一 下午 8:53在ASP.NET开发中主要的验证方法收藏<1>使用JS验证 匹配中文字符的正则表达式: [\u4e00-\u9fa5]匹配双字节字符(包括汉字在内):[^\x00-\xff]备注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)匹配空白行的正则表达式:\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}备注:匹配形式如 0511-4405222 或 021-87888822匹配腾讯QQ号:[1-9][0-9]{4,}备注:腾讯QQ号从10000开始匹配中国邮政编码:[1-9]\d{5}(?!\d)备注:中国邮政编码为6位数字匹配身份证:\d{15}|\d{18}备注:中国的身份证为15位或18位匹配ip地址:\d+\.\d+\.\d+\.\d+备注:提取ip地址时有用匹配特定数字:^[1-9]\d*$    //匹配正整数^-[1-9]\d*$   //匹配负整数^-?[1-9]\d*$   //匹配整数^[1-9]\d*|0$  //匹配非负整数(正整数 + 0)^-[1-9]\d*|0$   //匹配非正整数(负整数 + 0)^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$   //匹配正浮点数^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$  //匹配负浮点数^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$  //匹配浮点数^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$   //匹配非负浮点数(正浮点数 + 0)^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$  //匹配非正浮点数(负浮点数 + 0)备注:处理大量数据时有用,具体应用时注意修正匹配特定字符串:^[A-Za-z]+$  //匹配由26个英文字母组成的字符串^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串^[a-z]+$  //匹配由26个英文字母的小写组成的字符串^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串
验证手机的JS代码 <2>使用验证控件 自定义验证控件:
asp:CustomValidator> 正则表达式验证控件(当然这种方法需要加入非空验证)
asp:RegularExpressionValidator> <3>使用服务器端程序验证 public static bool ValidatePhone(string phone) { return System.Text.RegularExpressions.Regex.IsMatch(phone, @"^[1]+[3,5]+\d{9}"); } 上述的是一个简单的应用实例,只要你知道正则表达式的写法,你可以随意将上面实例中的正则表达式进行替换,将一些逻辑进行修改,就能够满足你在验证方面,可以说足够满足你常用的验证。在这里我也收集了一些常用的正则表达式,希望能够对大家有所帮助。验证的种类:1. 是否为空使用ASP.Net自带的RequiredFieldValidator控件
2. 字符长度使用ASP.NET自带的RegularExpressionValidator控件.
格式错误-只能输入不超过100个字符
3. 是否输入了中文
请输入汉字
4. 是否是数字
5. 只允许输入字母
请输入英文大小写字母
6. 是否是字母、数字、下划线
请输入数字字母和下划线
7. 是否是正确的E-mail格式
8. 是否是正确的邮政编码格式
您输入的不是中国邮政编码
9. 是否是正确的电话号码格式
您输入的电话号码格式错误
不涉及电话号码是否有效。如果有相关,需要后台配合。10. 用户是否存在前台:
验证用户是否存在
请输入用户名:
后台: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.两次密码输入是否一致
12.身份证验证
您输入正确的身份证号
13.手机号码验证
验证手机号
请输入手机号码:
您输入正确的手机号码
如果需要一些特殊的字符验证,请查看我收集的正则表达式。http://www.cnblogs.com/a311300/archive/2008/07/28/1254951.html#FeedBack----------------------------------------------------------------需要注意的问题:1. 防注册机器人.使用随机验证码2. 防文本框扩展操作:不允许复制、剪切、粘贴
3. 传参数相关的问题:需要对数据进行加密解密。4. 防SQL注入:使用存储过程或者SqlParameter。5. 将asp.net验证与ajaxControlToolKit结合使用:
这样在出现空格时,会在txtAdminName文本框旁边出现动态提示。6. 按回车键,光标移至下一个文本框:按文本框顺序设置TabIndex属性.7.最后点击提交按钮.触发提交事件:在from中,设置DefaultButton值为提交按钮id.

转载于:https://www.cnblogs.com/chenmfly/p/6128954.html

你可能感兴趣的文章
C - Surprising Strings
查看>>
hibernate里的generator中class =value介绍
查看>>
activity-alias的使用
查看>>
第36周日
查看>>
SQL Server 无法打开物理文件的 2 种解决办法
查看>>
推荐一款好用的文件/文件夹对比工具 —— Beyond Compare
查看>>
java设计模式--结构型模式--桥接模式
查看>>
JS window.open()属性
查看>>
手机管理中的应用【6】——电源管理篇
查看>>
【Android工具】DES终结者加密时报——AES加密演算法
查看>>
效果收集-点击显示大图
查看>>
Android 开机过程PMS分析
查看>>
找不到com.apple.Boot.plist
查看>>
使用openssl创建自签名证书及部署到IIS教程
查看>>
入门视频采集与处理(学会分析YUV数据)
查看>>
java keytool详解
查看>>
记一次Redis被攻击的事件
查看>>
Debian 的 preinst, postinst, prerm, 和 postrm 脚本
查看>>
socket编程的select模型
查看>>
IDEA和Eclipse经常使用快捷键(Win Mac)
查看>>