Asp.Net 正则表达式的应用
2015-09-09 22:29
791 查看
先看一下页面部分的代码
看一下验证的js部分
后台代码就比较简单,就一个按钮的提示
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="TestJsValidated._Default" %> <!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> <script type="text/javascript" language="javascript" src="JS/xx10.js"></script> </head> <body> <form id="form1" runat="server"> <div> 输入不能为空验正:<br /> 用户名:<asp:TextBox ID="TextBox1" runat="server" IsNull="false" ShowString="用户名" ></asp:TextBox><br /> <br /> 验正必须为整数<br /> <br /> 成绩:<asp:TextBox ID="TextBox2" runat="server" IsNull="false" ShowString="成绩" IsVailed ="int"></asp:TextBox><br /> <br /> <br /> 验正必须为电话号码<br /> <br /> 电话号码:<asp:TextBox ID="TextBox3" runat="server" IsNull="true" ShowString="电话号码" IsVailed ="phone"></asp:TextBox><br /> <br /> 验正必须是Email地址<br /> <br /> Email地址:<asp:TextBox ID="TextBox4" runat="server" IsNull="false" ShowString="Email地址" IsVailed ="email"></asp:TextBox><br /> <br /> <br /> <asp:Button ID="Button1" runat="server" Text="提交" OnClick="Button1_Click" OnClientClick="return checkInputAll(form1);"/><br /> <br /> <br /> <br /> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label></div> </form> </body> </html>
看一下验证的js部分
//Author: qyp //Javascript公用基础方法 var NOT_NUMERIC = -1;//非Numeric类型 var INT_NUMBER = 0; // 整数 var FLOAT_NUMBER = 1;//浮点型 var PRECESION_OUT_OF_BOUNDS = -2;//浮点型精度超长 //检查所有输入 //要求检查为空,必须添加 IsNull元素,其值为true,false, //必须添加ShowString元素,其值为字符串,是弹出框显示的提示内容 function checkInputAll(form) { var ele =form.elements; for(var i = 0; i < ele.length; i++) { if(ele[i].IsNull == "false") { if(isEmpty(ele[i].value)) { alert( ele[i].ShowString+" 不能为空!请重新输入"); ele[i].focus(); return false; } if(ele[i].IsVailed == "int") { if(!checkInt(ele[i].value,false)) { alert( ele[i].ShowString + " 必须是整数数字!请重新输入"); ele[i].focus(); return false; } } if(ele[i].IsVailed == "phone") { if(!isValidPhoneNumber(ele[i].value)) { alert( ele[i].ShowString +" 格式不对!请重新输入"); ele[i].focus(); return false; } } if(ele[i].IsVailed == "email") { if(!isValidEmail(ele[i].value)) { alert( ele[i].ShowString +" 格式不对!请重新输入"); ele[i].focus(); return false; } } } if(ele[i].IsNull == "true") { if(ele[i].IsVailed == "int" && !isEmpty(ele[i].value)) { if(!checkInt(ele[i].value,false)) { alert( ele[i].ShowString+" 必须是整数数字!请重新输入"); ele[i].focus(); return false; } } if(ele[i].IsVailed == "phone" && !isEmpty(ele[i].value)) { if(!isValidPhoneNumber(ele[i].value)) { alert( ele[i].ShowString +" 格式不对!请重新输入"); ele[i].focus(); return false; } } if(ele[i].IsVailed == "email" && !isEmpty(ele[i].value)) { if(!isValidEmail(ele[i].value)) { alert( ele[i].ShowString +" 格式不对!请重新输入"); ele[i].focus(); return false; } } } } return true } //设置checkbox的值 function checked(form,IsTrue) { for (var i=0 ; i<form.elements.length;i++) { if(form.elements[i].type=="checkbox") { form .elements[i].checked=IsTrue; } } } //输入非法字符限制 /32 空格/39 单引号 /37 $ /38 & /60 < /61 =/ 62 >/ function checkLimitativeChar(stringName) { if ((window.event.keyCode == 32) ||(window.event.keyCode == 37) || (window.event.keyCode == 38)||(window.event.keyCode == 39)||(window.event.keyCode == 60)||(window.event.keyCode == 61)||(window.event.keyCode == 62)) { var myString; myString=String.fromCharCode(window.event.keyCode) myString=stringName +"不能输入 " + myString + " 字符"; alert(myString) window.event.keyCode = 0 ; } } //输入非法字符限制 /39 单引号 function checkNewsChar(stringName) { if (window.event.keyCode == 39) { var myString; myString=String.fromCharCode(window.event.keyCode) myString=stringName +"不能输入 " + myString + " 字符"; alert(myString) window.event.keyCode = 0 ; } } //判断字符串是否为空或为空格 function isEmpty(s) { return ((s == null) || (s.length == 0) || isBlank(s)); } //判断字符串是否包含空格 function isBlank(str){ var len,k; var s = str; if (s == null) return true; len = s.length; if (len == 0) return true; for(k = 0; k < len; k ++){ if(s.substring(k,k+1) != " ") { return false; } } return true; } //检查是否为格式良好的电话号码。 function isValidPhoneNumber(input) { var reg=/^(\d{2,}-)?(\d{4,}(-\d{1,})?)$/; if(input.search(reg)==-1) { return false; } return true; } function isValidEmail(input) { var reg=/^((\w|\d){2,})@((\w|\d){2,})([.](\w|\d){2,}){1,3}$/i; if(input.search(reg)==-1) { return false; } return true; } /** * 检核整型栏位的资料正确性 * 参数描述: * intObj--要控制的(表单上)整型栏位 * negativeAllowed--boolean型态,是否允许带'-',即负数; */ function checkInt(intValue,negativeAllowed) { var str = intValue; if (getNumeberFormat(str,negativeAllowed)!=INT_NUMBER) { return false } return true; } /** * 检核Numeric型态 * 返回值列表: * -1:非Numeric类型;0: 整数; */ function getNumeberFormat(value, negativeAllowed) { var firstChar=value.charAt(0); var startIndex = 0;//解析的起始占位索引; if(firstChar=='-') { if (negativeAllowed==false) { return NOT_NUMERIC; } startIndex = 1; } for(var i = startIndex; i < value.length; i++) { var posChar = value.charAt(i);//当前检索的占位字符; if(posChar == '.') return NOT_NUMERIC; if(!(posChar >= '0' && posChar <= '9')) { return NOT_NUMERIC; } } return INT_NUMBER }
后台代码就比较简单,就一个按钮的提示
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; namespace TestJsValidated { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { Button1.Text = "已提交"; } } }
相关文章推荐
- Asp.Net 密码加密技术
- 转 :asp教程.net c#数组遍历、排序、删除元素、插入、随机元素 数组遍历
- 【ASP.NET MVC】个人复习整理
- ASP.Net AJAX按钮 与普通的按钮的区别
- asp 下拉框二级联动
- asp 下拉框二级联动
- Asp.Net 开发之图片上传
- ASP.NET数据绑定在HTML里有条件判断语句的写法-“三元运算符”
- [转]在asp.Net中使用fileupl…
- 基于ASP处理数据库的优化问…
- ASP.NET登录系列控件与安全…
- 访问asp网站时,页面上显示请求的资源在使用中
- 初识ASP.NET Mvc5+EF7的奇妙之旅
- ASP.NET对路径"C:/......."的访问被拒绝 解决方法小结
- ASP.NET MVC ActionFilterAttribute的执行顺序
- ASP.NET MVC : Action过滤器(Filtering)
- 如何防范ASP木马
- ASP Request.ServerVariables 参数集
- asp.net文件上传带进度条实现案例(多种风格)
- Spring AOP使用ASPECTJ错误