【问题标题】:Validating String input has no numbers验证字符串输入没有数字
【发布时间】:2011-12-17 21:39:24
【问题描述】:

我找到了如何使用 try/catch 验证输入是否为数字,但如何验证用户输入仅按字母顺序排列且不包含数字?

【问题讨论】:

    标签: java input numbers validation alphabetical


    【解决方案1】:

    一种方法是使用正则表达式。

    private static Pattern p = Pattern.compile("^[A-Za-z]+$");
    
    public static boolean match(String s) {
        return p.matcher(s).matches();
    }
    

    另一种方法可以遍历字符串中的所有字符并检查它们是否按字母顺序排列。

    【讨论】:

      【解决方案2】:

      你可以使用一个简单的正则表达式:

      if (str.matches("[a-zA-Z]+$")) {
         // str consists entirely of letters
      }
      

      请注意,这只适用于字母 A-Z 和 a-z。如果需要正确支持 Unicode,更好的方法是遍历字符串的字符并使用Character.isLetter()。

      【讨论】:

      • 正是我所需要的。谢谢。
      【解决方案3】:
      public static boolean containsNumbers(String str){
          for(char ch : str.toCharArray()){
              if(Character.isDigit(ch)){
                  return true;
              }
          }
          return false;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-12
        • 2012-05-10
        • 1970-01-01
        • 2015-04-29
        • 1970-01-01
        • 2010-09-28
        相关资源
        最近更新 更多