声明:最近在做一个asp.net的客户端验证工作,特整理如下:
几点说明:
一.如何在asp.net项目中为按钮添加javascript事件
1.1将javascript代码直接写在.aspx页面的head中,如下:
将javascript写到.aspx中
<%@ Page language="c#" Codebehind="HooHoo.aspx.cs" AutoEventWireup="false" Inherits="Read_ZZ.HooHoo" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>HooHoo</title>
<SCRIPT language="javascript">
function Checkinput()
{验证实现}
</SCRIPT>
<meta content="Microsoft Visual Studio 7.0" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<LINK href="Style/style.css" rel="stylesheet">
</HEAD>
<body leftMargin="0" topMargin="0" MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
.
</form>
</body>
</HTML>
1.2在.aspx.cs中的Page_Load方法中加入一下代码:
为按钮添加javascript事件
private void Page_Load(object sender, System.EventArgs e)
{ if(!IsPostBack)
{
//李燕平
btnAdd.Attributes.Add("onclick","return Checkinput()");
btnUpdate.Attributes.Add("onclick","return Checkinput()");
btnDelete.Attributes.Add("onclick","return confirm('资料删除后将不能再恢复!\\n\\n真的要删除?');");
}
}
注:在.aspx页面中只需加入<script language=javascript>..</script>即可,不需要修改按钮或其他<asp:某></asp:某>
二.javascript客户端验证实现
2.1验证输入是否为空
2.2调用函数验证(本例中验证是否为数字)
2.3验证输入是否符合长度要求
2.4验证输入是否符合正则表达式的要求,本例中列出以下正则表达式:
验证表达式1 = /^[1]{1}[3]{1}(\d){9}$/;//要求是手机
验证表达式2 = /^((\d){3,4}[-]{1})?([1-9]{1}(\d){5,7})([-]{1}(\d){1,6})?$/;//要求是电话
验证表达式3 = /^\d{4}-\d{1,2}-\d{1,2}/;//要求是日期(1999-10-02)
验证表达式4 = /^\d+$/; //要求是非负整数(正整数 + 0)
验证表达式5 = /^[0-9]*[1-9][0-9]*$/; //要求是正整数
验证表达式6 = /^((-\d+)(0+))$/; //要求是非正整数(负整数 + 0)
验证表达式7 = /^-[0-9]*[1-9][0-9]*$/; //要求是负整数
验证表达式8 = /^-?\d+$/; //要求是整数
验证表达式9 = /^\d+(\.\d+)?$/; //要求是非负浮点数(正浮点数 + 0)
验证表达式10 = /^(([0-9]+\.[0-9]*[1-9][0-9]*)([0-9]*[1-9][0-9]*\.[0-9]+)([0-9]*[1-9][0-9]*))$/;//要求是正浮点数
验证表达式11 = /^((-\d+(\.\d+)?)(0+(\.0+)?))$/; //要求是非正浮点数(负浮点数 + 0)
验证表达式12 = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)([0-9]*[1-9][0-9]*\.[0-9]+)([0-9]*[1-9][0-9]*)))$/;//要求负浮点数
验证表达式13 = /^(-?\d+)(\.\d+)?$/; //要求是浮点数
验证表达式14 = /^[A-Za-z]+$/; //要求是由26个英文字母组成的字符串
验证表达式15 = /^[A-Z]+$/; //要求是由26个英文字母的大写组成的字符串
验证表达式16 = /^[a-z]+$/; //要求是由26个英文字母的小写组成的字符串
验证表达式17 = /^[A-Za-z0-9]+$/; //要求是由数字和26个英文字母组成的字符串
验证表达式18 = /^\w+$/; //要求是由数字、26个英文字母或者下划线组成的字符串
验证表达式19 = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;//要求是mail
验证表达式20 = /^[\u4e00-\u9fa5],{0,}$/; //要求是汉字
验证表达式21 = /\d{18}|\d{15}/; //要求是身份证
验证表达式22 = /\d{6}/; //要求是邮编
验证表达式23 = /^[a-zA-Z]\w{5,17}$/; //要求是密码(以字母开头,且为6-16位)
Javascript代码实现:
javascript代码
<%@ Page language="c#" Codebehind="Tab_XQDWEdit.aspx.cs" AutoEventWireup="false" Inherits="Read_ZZ.Tab_XQDWEdit" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>Tab_XQDW</title>
<SCRIPT language="javascript">
function Checkinput()
{
//不能为空
var valF_dwmc1 = document.getElementById('<%=valF_dwmc.ClientID%>').value;//单位名称
var valF_dwdz1 = document.getElementById('<%=valF_dwdz.ClientID%>').value;//单位地址
var valF_lxdh1 = document.getElementById('<%=valF_lxdh.ClientID%>').value;//联系电话(电话)
var valF_jzsqsj1 = document.getElementById('<%=valF_jzsqsj.ClientID%>').value;//进驻社区日期(日期)
var valF_lsgx1 = Tab_XQDW.valF_lsgx_Ctrl1_DicDropDownList;//隶属关系
var valF_dwxz1 = Tab_XQDW.valF_dwxz_Ctrl1_DicDropDownList;//单位性质
var valF_dwjb1 = Tab_XQDW.valF_dwjb_Ctrl1_DicDropDownList;//单位级别
var valF_jjlx1 = Tab_XQDW.valF_jjlx_Ctrl1_DicDropDownList;//经济类型
var valF_frdb1 = document.getElementById('<%=valF_frdb.ClientID%>').value;//法人代表
var valF_gsdjh1 = document.getElementById('<%=valF_gsdjh.ClientID%>').value;//工商登记号
var valF_gszcsj1 = document.getElementById('<%=valF_gszcsj.ClientID%>').value;//工商注册日期(日期)
var valF_dwfzr1 = document.getElementById('<%=valF_dwfzr.ClientID%>').value;//单位负责人
var valF_zgrs1 = document.getElementById('<%=valF_zgrs.ClientID%>').value;//职工人数(数字)
var valF_dyrs1 = document.getElementById('<%=valF_dyrs.ClientID%>').value;//党员人数(数字)
var valF_tyrs1 = document.getElementById('<%=valF_tyrs.ClientID%>').value;//团员人数(数字)
var valF_dwfzrdh1 = document.getElementById('<%=valF_dwfzrdh.ClientID%>').value;//单位负责人联系电话(电话)
var valF_dzzfzrdh1 = document.getElementById('<%=valF_dzzfzrdh.ClientID%>').value;//党组织负责人联系电话(电话)
var valF_bz1 = document.getElementById('<%=valF_bz.ClientID%>').value;//备注(范围1000字)
var reqtel=/^[1]{1}[3]{1}(\d){9}$/;//电话
var reqdate=/^\d{4}-\d{1,2}-\d{1,2}/;//日期
if(valF_dwmc1=="")
{
alert('单位名称不能为空!');
document.all('valF_dwmc').focus();
return false;
}
if(valF_dwdz1=="")
{
alert('单位地址不能为空!');
document.all('valF_dwdz').focus();
return false;
}
if(valF_jzsqsj1=="")
{
alert('进驻社区日期不能为空!');
document.all('valF_jzsqsj').focus();
return false;
}
if (!reqdate.test(valF_jzsqsj1))
{
alert('请正确输入进驻社区日期!');
document.all('valF_jzsqsj').focus();
return false;
}
if(valF_lxdh1=="")
{
alert('联系电话不能为空!');
document.all('valF_lxdh').focus();
return false;
}
if (!reqtel.test(valF_lxdh1))
{
alert('联系电话错误(数字)!');
document.all('valF_lxdh').focus();
return false;
}
if(valF_lsgx1.value == "")
{
alert('请选择单位隶属关系!');
document.all('valF_lsgx_Ctrl1_DicDropDownList').focus();
return false;
}
if(valF_dwxz1.value == "")
{
alert('请选择单位性质!');
document.all('valF_lsgx_Ctrl1_DicDropDownList').focus();
return false;
}
if(valF_dwjb1.value=="")
{
alert('请选择单位级别!');
document.all('valF_dwjb_Ctrl1_DicDropDownList').focus();
return false;
}
if(valF_jjlx1.value=="")
{
alert('请选择经济类型!');
document.all('valF_jjlx_Ctrl1_DicDropDownList').focus();
return false;
}
if(valF_frdb1=="")
{
alert('法人代表不能为空!');
document.all('valF_frdb').focus();
return false;
}
if(valF_gsdjh1=="")
{
alert('工商登记号不能为空!');
document.all('valF_gsdjh').focus();
return false;
}
if(valF_gszcsj1=="")
{
alert('工商注册日期不能为空!');
document.all('valF_gszcsj').focus();
return false;
}
if (!reqdate.test(valF_gszcsj1))
{
alert('请正确输入工商注册日期!');
document.all('valF_gszcsj').focus();
return false;
}
if(valF_dwfzr1=="")
{
alert('单位负责人不能为空!');
document.all('valF_dwfzr').focus();
return false;
}
//判断是否为数字
if(isNaN(valF_zgrs1))
{
alert('职工人数错误(数字)!');
document.all('valF_zgrs').focus();
return false;
}
if(isNaN(valF_dyrs1))
{
alert('党员人数错误(数字)!');
document.all('valF_zgrs').focus();
return false;
}
if(isNaN(valF_tyrs1))
{
alert('团员人数错误(数字)!');
document.all('valF_zgrs').focus();
return false;
}
//判断备注长度
if(valF_bz1.length>1000)
{
alert('备注超出范围(1000字)!');
document.all('valF_bz').focus();
return false;
}
}
</SCRIPT>
<meta content="Microsoft Visual Studio 7.0" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<LINK href="Style/style.css" rel="stylesheet">
</HEAD>
<body leftMargin="0" topMargin="0" MS_POSITIONING="GridLayout">
<form id="Tab_XQDW" method="post" runat="server">..
</form>
</body>
</HTML>