.net中正则表达式的客户端验证--javascript

王朝html/css/js·作者佚名  2006-11-28
窄屏简体版  字體: |||超大  

.net中客户端验证可以用微软自带的验证控件,但明显没有直接写的Javascript来得简单有效,请参照以下三步:

第一:Form如下:

<form id="Form1" method="post" runat="server">

<FONT face="宋体"></FONT><FONT face="宋体"></FONT>

<

br>

1. Name :<

br>

<asp:TextBox ID="txtName" runat="server" /><

br>

2. Email :<

br>

<asp:TextBox ID="txtEmail" runat="server" /><

br>

3. Web URL :<

br>

<asp:TextBox ID="txtWebURL" runat="server" /><

br>

4. Zip :<

br>

<asp:TextBox ID="txtZIP" runat="server" /><

br>

5.Content<

br>

<asp:TextBox ID="txtContent" runat="server" TextMode="MultiLine" Width="504px" Height="80px" />

<

br>

<asp:Button ID="btnSubmit" OnClientClick=" return validate()" runat="server" Text="Submit" />

</form>

第二:调用函数如下(可自行扩展)

<script language="javascript" type="text/javascript">

function validate()

...{

if (document.getElementById("<%=txtName.ClientID%>").value=="")

...{

alert("Name Feild can not be blank");

document.getElementById("<%=txtName.ClientID%>").focus();

return false;

}

if(document.getElementById("<%=txtEmail.ClientID %>").value=="")

...{

alert("Email id can not be blank");

document.getElementById("<%=txtEmail.ClientID %>").focus();

return false;

}

// var emailPat = /^(".*"|[A-Za-z]w*)@([d{1,3}(.d{1,3}){3}]|[A-Za-z]w*(.[A-Za-z]w*)+)$/;

//var emailPat = "w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*";

//var emailPat = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;

//var emailPat = '^([w]+@([w]+.)+[a-zA-Z]{2,9}(s*;s*[w]+@([w]+.)+[a-zA-Z]{2,9})*)$';

var emailPat = "^[a-zA-Z0-9_.]+@[a-zA-Z0-9-]+[.a-zA-Z]+$";

var emailid=document.getElementById("<%=txtEmail.ClientID %>").value;

var matchArray = emailid.match(emailPat);

if (matchArray == null)

...{

alert("Your email address seems incorrect. Please try again.");

document.getElementById("<%=txtEmail.ClientID %>").focus();

return false;

}

if(document.getElementById("<%=txtWebURL.ClientID %>").value=="")

...{

alert("Web URL can not be blank");

document.getElementById("<%=txtWebURL.ClientID %>").value="http://"

document.getElementById("<%=txtWebURL.ClientID %>").focus();

return false;

}

var Url="^[A-Za-z]+://[A-Za-z0-9-_]+\.[A-Za-z0-9-_%&?/.=]+$"

var tempURL=document.getElementById("<%=txtWebURL.ClientID%>").value;

var matchURL=tempURL.match(Url);

if(matchURL==null)

...{

alert("Web URL does not look valid");

document.getElementById("<%=txtWebURL.ClientID %>").focus();

return false;

}

if (document.getElementById("<%=txtZIP.ClientID%>").value=="")

...{

alert("Zip Code is not valid");

document.getElementById("<%=txtZIP.ClientID%>").focus();

return false;

}

var digits="0123456789";

var temp;

for (var i=0;i<document.getElementById("<%=txtZIP.ClientID %>").value.length;i++)

...{

temp=document.getElementById("<%=txtZIP.ClientID%>").value.substring(i,i+1);

if (digits.indexOf(temp)==-1)

...{

alert("Please enter correct zip code");

document.getElementById("<%=txtZIP.ClientID%>").focus();

return false;

}

}

var ContentLength="";

if (document.getElementById("<%=txtContent.ClientID%>").value=="")

...{

alert("Content is need!");

document.getElementById("<%=txtContent.ClientID%>").focus();

return false;

}

else if(document.getElementById("<%=txtContent.ClientID%>").value.length>100)

...{

alert("Content is Too Long,and More than 100 Chars!");

document.getElementById("<%=txtContent.ClientID%>").focus();

return false;

}

return true;

}

</script>

第三:Page_Load事件中加入一行:

private void Page_Load(object sender, System.EventArgs e)

...{

btnSubmit.Attributes.Add("onclick", "return validate()");

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航