【问题标题】:How to validate Regular Expression for time in 24 Hr format in Flex 4.5?如何在 Flex 4.5 中以 24 小时格式验证正则表达式?
【发布时间】:2013-12-23 10:12:06
【问题描述】:
var regex1:RegExp=/([01]?[0-9]|2[0-3]):[0-5][0-9](\\s)(?i:)(am|pm)/;      
 var fo:String = "12:00 AM";  
 var ismatched:Boolean = regex1.test(fo);  
 trace(ismatched);

它在控制台上打印的结果是假的。

我想让 Regexp 忽略分钟和 AM 和 PM 之间的空格。

我想验证格式 HH:MM AM/PM 的时间

  • 正则表达式必须验证“12:00 AM”、“12:10 am”、“11:10am”、“11:10pm”、“11:15PM”等格式。

    李>
  • 正则表达式必须为它们中的每一个写成真。

  • 它必须忽略 AM、PM 之前的空格,例如:“11:10 AM”。

【问题讨论】:

    标签: regex apache-flex flex4 flex3 flex4.5


    【解决方案1】:

    如果您需要同时匹配“11:10am”和“12:00 AM”,您的空白测试必须是可选的,您需要将 \s 更改为 \s?

    【讨论】:

    • Arco444:我需要这样一种方式,如果用户在分钟和上午/下午之间输入空格,那么它应该返回 true,如果不包括,那么它应该写为 true
    • 这正是我要说的,您需要通过添加“? Thomas 提出了同样的建议。
    • Arc0:现在它的样子 (1[012]|[1-9]):[0-5][0-9](\\s?)(?i)(am |pm) var fo:String = "12:00 AM" 但它仍然返回 false 。我是不是在哪里出错了
    • 这对我来说是正确的。我不确定 flex 中正则表达式的语法(特别是 (?i) 的位置),但我已经在上面进行了测试,它适用于 "12:00AM" 和 "12:上午 00 点”
    【解决方案2】:

    我不确定 flex,但在 Java 中,不区分大小写的标志必​​须不带冒号,即 (?i) 而不是 (?i:)

    哦,空白组需要一个量词:(\\s*)(\\s?) 而不是 (\\s),具体取决于您要忽略多少个空格。

    顺便说一句,你需要捕获所有这些组吗?

    另一个注意事项:当根据我上面提到的错误进行修复时,您的表达式仍将允许像 23:00 AM 这样的时间,因此您可能希望扩展您的表达式以仅允许 [0]?[0-9]|1[0-2],当预期 AM 或 PM 时。

    更新:根据 flex 文档,您的 am/pm 查询看起来应该是这样的:(?i:(am|pm))(文档说 (?option:expression)

    另外我不知道你是否需要在 Flex 中转义反斜杠,所以请检查。如果您不必转义它,(\\s?) 将匹配“可选的反斜杠后跟字母 s”而不是可选的空格。

    【讨论】:

    • 是的,thomas 我需要捕获所有这些分组谢谢你的建议。我会试试这个
    • 是的,thomas 应该是 12 小时格式。但它在 Adob​​e flex 中不起作用。这就是 adobe flex 模式的方式flex.sourceforge.net/manual/Patterns.html
    • @user1942215 你用了什么表达式和什么测试字符串?如果您在评论中使用了arco答案中的那个,请注意,如果 entire 字符串必须匹配,则使用前导零检查时间可能会返回 false (同样我不知道 flex 但在 Java String#matches(...) 中需要匹配字符串中所有内容的表达式。
    【解决方案3】:

    以下表达式适用于使用 AM/PM 或不使用它们的所需验证。

    /(1[012]|[1-9]):[0-5][0-9](\s)?(?i)(am|pm)?/      
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-10
      • 2015-11-10
      • 2011-02-20
      • 1970-01-01
      相关资源
      最近更新 更多