常用正则表达式总结(js与C#对照) 。

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

  大气象

  <%@ 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>

  大气象

  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);

  }

  }

你可能感兴趣的:(正则表达式)