您的位置:首页 > 编程语言 > ASP

Asp.Net 正则表达式的应用

2015-09-09 22:29 791 查看
先看一下页面部分的代码

<%@ 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 = "已提交";
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: