代码之家  ›  专栏  ›  技术社区  ›  Zachary Scott

ASP.NET MVC 2数据验证:使C#Regex同时适用于C#和JavaScript?

  •  0
  • Zachary Scott  · 技术社区  · 14 年前

    我有一个正则表达式:

    ^\s?((?<qty>\d+)\s?/)?\s?[$]?\s?(?<price>\d{0,2}(?:\.\d{1,2})?)\s?$
    

    并在客户端使用MVC的数据验证。JavaScript说这个regex是无效的,尽管C可以很好地工作。既然在数据验证注释中似乎不可能提供单独的JavaScript正则表达式,您知道如何让它同时适用于C#和JavaScript吗?

    2 回复  |  直到 14 年前
        1
  •  2
  •   kennytm    14 年前

    Javascript不支持命名引用 (?<…>…) . 你需要使用

    ^\s?((\d+)\s?/)?\s?[$]?\s?(\d{0,2}(?:\.\d{1,2})?)\s?$
    

    并参考 qty price 1 2 相反。

        2
  •  1
  •   SLaks    14 年前

    删除组名( <qty> ).