js用r.test()而C#用regex.IsMatch()来验证正则。



js用r.test()而C#用regex.IsMatch()来验证正则。


常用正则表达式总结(js与C#对照)_html常用正则表达式总结(js与C#对照)_正则表达式_02大气象


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="RegexTest.aspx.cs" Inherits="RegexTest" %>


<!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" src="js/jquery-1.3.2.min.js"></script>

    <script type="text/javascript">

        function fCheck(){

            //检查用户名

            var uname = jQuery("#txtUserName").val();

            if(uname == ""){alert('用户名不可为空!');return false;}

            r=/^[\w\d]{4,16}$/;

            if(!r.test(uname)){alert('用户名为4-16个字符!');return false;}

            //检查密码

            var upwd = jQuery("#txtPwd").val();

            if(upwd == ""){alert('密码不可为空!');return false;}

            r=/^.{6,14}$/;

            if(!r.test(upwd)){alert('密码为6-14个字符!');return false;}

            if(jQuery("#txtPwdConfirm").val()!=upwd){alert('两次输入的密码不一致!');return false;}

            //检查邮箱

            var uemail = jQuery("#txtEmail").val();

            if(uemail==""){alert('电子邮件地址不能为空!');return false;}

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

            if(!r.test(uemail)){alert('电子邮件地址格式不正确!');return false;}

            

            return true;

        }

    </script>

</head>

<body>

    <form id="form1" runat="server">

    <div>

    用户名:

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

    4-16个字符(数字,字母和下划线)<br />

    

    密码及确认密码:<asp:TextBox ID="txtPwd" runat="server" TextMode="password" Width="80px"></asp:TextBox> 

    <asp:TextBox ID="txtPwdConfirm" runat="server" TextMode="password" Width="80px"></asp:TextBox>

    <br />

    

    电子邮件地址:

    <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>(请输入有效的邮件地址,当密码遗失时凭此领取)

    

    <br />

    <asp:Button OnClientClick="" ID="btnRegister" runat="server" Text="同意以下协议并注册" OnClick="btnRegister_Click" />

    </div>

    </form>

</body>

</html>


 

 


常用正则表达式总结(js与C#对照)_html常用正则表达式总结(js与C#对照)_正则表达式_02大气象


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;


using System.Text.RegularExpressions;


public partial class RegexTest : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {


    }

    /****************************************************

     * ^匹配开始 $匹配结束

     * {m,n}匹配从m到n个前面的表达式,比如[\w]{4,16}匹配4到16个字母

     * .匹配除 "\n" 之外的任何单个字符。

     * 要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。

     * [-+.]三个符号,只能有一个。

     ***************************************************/

    protected void btnRegister_Click(object sender, EventArgs e)

    {

        //用户名为4-16个字符(数字,字母和下划线)

        Regex regex = new Regex(@"^[\w\d]{4,16}$");

        if(!regex.IsMatch(txtUserName.Text.Trim()))

        {

            Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", "<script>alert('用户名为4-16个字符(数字,字母和下划线)。');</script>", false);

            return;

        }

        //密码为6-14个字符!

        regex = new Regex(@"^.{6,14}$");

        if (!regex.IsMatch(txtPwd.Text.Trim()))

        {

            Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", "<script>alert('密码为6-14个字符!');</script>", false);

            return;

        }

        //密码为6-14个字符!

        regex = new Regex(@"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$");

        if (!regex.IsMatch(txtEmail.Text.Trim()))

        {

            Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", "<script>alert('电子邮件地址格式不正确!');</script>", false);

            return;

        }


        Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", "<script>alert('注册成功!请登录。');window.location.href='Login.aspx';</script>", false);

    }

}