【问题标题】:2 text box with validation of custom format and input, and comparing both data VB20102 带有自定义格式和输入验证的文本框,并比较两个数据 VB2010
【发布时间】:2015-06-20 02:53:50
【问题描述】:

我有点被这种情况困住了! 我需要创建 2 个具有相同数据格式“3XYZ-02-01-ABC-001”的文本框,然后只需要在不匹配时将“3XYZ-02-01-ABC”与弹出文本进行比较。

我使用VB2010并在winform中创建它,

无法使用正则表达式,不知道为什么?有什么解决方案吗? 任何蒙面文本框解决方案都会有所帮助,非常感谢。 有点挑战!

谢谢

【问题讨论】:

  • \d[a-z]{3}-\d{2}-\d{2}-[a-z]{3}-\d{3}|\d[a-z]{3}-\d{2}-\d{2}-[a-z]{3} -- 抱歉更新了。这应该符合这两个条件。如果你需要结果,可以(\d[a-z]{3}-\d{2}-\d{2}-[a-z]{3}-\d{3})|(\d[a-z]{3}-\d{2}-\d{2}-[a-z]{3})。您还可以在 .NET 正则表达式中使用分组和特殊条件,但还没有足够的经验来提供建议。
  • 我添加了一个解决方案,它为您进行测试并返回一个布尔(真/假)响应。尚未对其进行测试,因此如果布尔响应是向后的,只需在第一条正则表达式行中添加一个 ^ 作为第一个字符。

标签: vb.net visual-studio-2010


【解决方案1】:

要验证(布尔值)而不返回字符串,这将检查两个条件。

public function ValidateCode(Code as string) as boolean
   Dim test As String = ""

   ' The longer code check
   test = "\d[a-z]{3}-\d{2}-\d{2}-[a-z]{3}-\d{3}"

   ' The regex OR operator
   test = test & "|"

   ' The shorter code check
   test = test & "\d[a-z]{3}-\d{2}-\d{2}-[a-z]{3}"

   ' Perform regex test and return the boolean
   return Regex.IsMatch( Code, test )
end function

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-14
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 1970-01-01
    • 1970-01-01
    • 2011-10-24
    • 1970-01-01
    相关资源
    最近更新 更多