ASP.NET中客户端和服务器端的验证

其实这个一个很简单的问题,但是每次用起来我都会出点问题,现在就给它记下来,免得下次又话很长的时间来弄:
js(PublicJs.js)脚本(用正则表达式进行验证)
//手机号是否为正确格式
function IsMobile(tsMobilValue)
{
 var MobileRe=/^(013|13|8613|015|15|8615)\d{9}$/;
 return MobileRe.test(tsMobilValue);
}
客户端:(使用js脚本)
<script src="../PublicJs.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
    function valiMobile()
    {
        var txtMobile=document.getElementById("txtMobile");
        if(txtMobile.value!=""){
            if(!IsMobile(txtMobile.value))
            {
                txtMobile.focus();
                alert("输入的手机号码格式不正确,请重新!");
                return false;
            }
        }else{
            txtMobile.focus();
            alert("请输入手机号码!");
            return false;
        }
    }
    </script>
<asp:TextBox ID="txtMobile" runat="server"></asp:TextBox>
<asp:Button ID="btnOk" runat="server" Text="Button"  OnClick="btnOk_Click" OnClientClick="return valiMobile();" />
然后在走服务器端得btnOk_Click事件里面的方法...
其实可以在服务器端验证的:
using System.Text.RegularExpressions;
 public bool isMobile(string str)
    {
        Regex rg=new Regex("^(013|13|8613|015|15|8615)\\d{9}$");
        if (rg.IsMatch(str))
            return true;
        else
            return false;
    }
然后在btnOk_Click事件里面写方法,先判断是否输入,然后通过isMobile方法判断格式是否正确,在这里弹出的提示对话框可以使用:
Page.ClientScript.RegisterStartupScript(Type.GetType("System.String"), "javascript",  "<script>alert('手机号码不能为空,请输入!');</script>");

posted @ 2009-09-17 11:38  selfhelp.only  阅读(345)  评论(0)    收藏  举报
selfhelp.only 加油!!