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;

        ......
    }

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

  • 相关阅读:
    在Xcode 查看预处理及预编译阶段“宏”Marcos
    复用的基础
    抖音品质建设
    Mach-O 文件格式
    isaclass object_getClass
    组件化接口依赖一致性问题
    objectClasses and metaclasses
    __attribute__详解及应用
    深入静态库 & 动态库--[iOS] 组件二进制化 & 库的各种小知识
    iOS应用的启动流程和优化详解
  • 原文地址:https://www.cnblogs.com/zuoguanglin/p/2373260.html
Copyright © 2011-2022 走看看