【问题标题】:String validation based on criteria基于条件的字符串验证
【发布时间】:2019-07-16 14:39:18
【问题描述】:

我有一个需要验证字符串的要求:

   String input1 = example@gmail.com , example1@gmail.com; 
   String input2 = example@yahoo.com , example1@gmail.com;

        String input 1 == valid ::: Valid because all email ids are of same domain

       String input 2 == invalid

【问题讨论】:

  • 如果字符串包含同一域的所有电子邮件 ID,则为 true,否则为 false
  • equals() ??我不想比较。我想验证单个字符串
  • 你将分割字符串(首先用逗号,然后用@分割这些部分)。去掉/忽略任何你不需要的部分,比较包含域名的部分。

标签: java string validation string-formatting string-comparison


【解决方案1】:

您可以通过以下方式构建逻辑。 字符串输入1 = example@gmail.com , example1@gmail.com , example1@gmail.com;

按照步骤操作。

  1. 使用逗号 (,) 分割整个字符串。您将获得一组电子邮件 ID。
  2. 从上面的电子邮件 id 数组中,通过从 @ 符号中剥离来分离出域并放入一个 HashSet。这意味着 HashSet 应该包含所有域。
  3. 如果 HashSet 大小最终或最后为 1,则表示 input1 具有相同的域,根据您的要求,它是有效的。
  4. 如果 HashSet 包含超过 1 个,根据您的要求是无效的。

这是一个简单的逻辑,但是可能有更好的逻辑来解决它。

【讨论】:

  • 我可以第一次拆分第二次如何拆分??
  • 你可以这样做 String s = "example1@gmail.com";字符串 s1 = s.substring(s.indexOf("@")+1,s.length());
猜你喜欢
  • 2011-08-27
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 2021-12-06
  • 1970-01-01
  • 2020-06-15
  • 2018-03-09
  • 1970-01-01
相关资源
最近更新 更多