.net中正则表达式的客户端验证--javascript
.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>
<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>
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()");
}
{
btnSubmit.Attributes.Add("onclick", "return validate()");
}