zoukankan      html  css  js  c++  java
  • 正则表达式用法

    正则表达式在javascript中的一般用法:

    eg: 前端验证Email的格式是否正确

      function ValidEmail()
            {
                if(RequiredName())
                {
                    if( $.trim($("#Email").val())=="")
                    {
                        return true;
                    }
                    else
                    {
                        var email = document.getElementById("Email");
                        var emailreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
                        if(!emailreg.test(email.value))
                        {
                            alert('提示\n请输入有效的E_mail!');
                            $("#Email").focus();
                            return false;
                        }
                        else
                        {
                            return true;
                        }
                    }
                }
            }

    说明:验证Email格式是否正确,可以为空。

    接下来 <asp:Button ID="btn_Save" CssClass="button" runat="server" Text="保存" OnClick="btn_Save_Click"
                                OnClientClick="return ValidEmail();"

    即可。

    正则表达式在C#中一般用法:

    using System.Text.RegularExpressions;

    1.检查数据格式是否错误。

    string TestRegex = @"^[-+]?\d+(\.\d+)?$";

     if (!Regex.IsMatch(txtLongitude.Text.Trim(), TestRegex ) || !Regex.IsMatch(txtLatitude.Text.Trim(), TestRegex ))
     {
                 ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('经纬度格式错误!');</script>");

     }

    2.找出匹配的数据,并取得

    eg:

            //构造解析表格数据的正则表达式
    Regex regex = new Regex(@"<tr[^<]*<td>(.*?)</td>[^<]*<td>(.*?)</td>[^<]*<td>(.*?)</td>[^<]*<td>(.*?)</td>[^<]*<td>(.*?)</td>[^<]*<td>(.*?)</td>[^<]*<td>(.*?)</td>[^<]*<td>(.*?)</td>[^<]*<td>(.*?)</td>[^<]*</tr>|tr[^<]*<td>(?<breed>.*?)</td>[^<]*\s.*?[^<]*<td>(?<makings>.*?)</td>[^<]*\s.*?[^<]*<td>(?<format>.*?)</td>[^<]*\s.*?[^<]*<td>(?<steelFactory>.*?)</td>[^<]*\s.*?[^<]*<td>(?<address>.*?)</td>[^<]*\s.*?[^<]*<td>(?<price>.*?)</td>[^<]*\s.*?[^<]*<td>(?<upToDate>.*?)</td>[^<]*\s.*?[^<]*<td><span[^>]*>(?<riseOrTransfer>.*?)</span></td>[^<]*\s.*?[^<]*<*.*?>[^<]*\s.*?[^<]*<td>*.*?></td>[^<]*\s.*?[^<]*<*.*?>\s[^<]*</tr>",
                   RegexOptions.Compiled | RegexOptions.IgnoreCase);

    MatchCollection mc = regex.Matches(tb.Text);//tb.Text为存放的是从html页面读取的数据

    string[] array = new string[9];//构建数组,用于保存数据

    foreach (Match m in mc)
    {

        array[1] = m.Groups["breed"].Value;//匹配的值
            array[2] = m.Groups["makings"].Value;
            array[3] = m.Groups["format"].Value;
            array[4] = m.Groups["steelFactory"].Value;

        ......
    }

    接下来就可以将匹配的值存起。

  • 相关阅读:
    leftpad填充函数;
    overfllow的解析
    append与after
    数组扁平话的N种解法;
    关于webapi调用wcf并发假死的分析
    C#金额数字转换中文繁体
    关于ios的IDFA
    Windows下为MySQL做定时备份
    [System.OutOfMemoryException] {函数求值已禁用,因为出现内存不足异常。
    mvc 捕获404和500 等
  • 原文地址:https://www.cnblogs.com/zuoguanglin/p/2373260.html
Copyright © 2011-2022 走看看