Asp.Net 正则表达式的应用

先看一下页面部分的代码

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



    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值