检查一个数字是否符合模板'ddd-dd-dddd'

时间:2014-01-16 09:32:39

标签: java boolean

问题是:

  • 添加静态方法boolean isValidNumber(String aNumber)

  • 检查数字是否符合模板' ddd-dd-dddd', 每个人都在这里在模板中代表一个数字和' - '为一个 ' - '字符。

可以请任何人提示如何做到这一点吗?

5 个答案:

答案 0 :(得分:1)

您需要做的就是使用String matches方法与正则表达式String进行比较。

 return aNumber.matches("\\d\\d\\d-\\d\\d-\\d\\d\\d\\d");

答案 1 :(得分:1)

检查出来:

public static boolean isValidNumber(String aNumber) {
    if (aNumber.matches("\\d{3}-\\d{2}-\\d{4}")) {
        // Match found
        return true;
    } 
    // Not a valid number
    return false;
}

答案 2 :(得分:1)

这样做

public boolean isValidNumber(String aNumber){
     return aNumber.matches("\\d{3}-\\d{2}-\\d{4}")
}

答案 3 :(得分:1)

为您的特定序列试用此正则表达式

^[0-9]{3}\-[0-9]{2}\-[0-9]{4}$

这绝对有助于你。

public class Sample 
{

        public static void main(String ar[])
{
      String aNumber= "254-58-3698";
       isValidNumber(aNumber);

}

public static Boolean isValidNumber(String aNumber)
{


      String pattern = "^[0-9]{3}\\-[0-9]{2}\\-[0-9]{4}$";

      // Create a Pattern object
      Pattern r = Pattern.compile(pattern);

      // Now create matcher object.
      Matcher m = r.matcher(line);
      if (m.find( )) {
         System.out.println("Number has Matched");  
return true;       
      } else {
         System.out.println("NO MATCH");
return false;
      }

}
}

输出:

Number has Matched

答案 4 :(得分:1)

如果您经常调用此方法,则可以使用预先构建的模式。

static final Pattern DDD_DD_DDD = Pattern.compile("\\d{3}-\\d{2}-\\d{4}");

public static boolean isDDD_DD_DDDD(String text) {
    return DDD_DD_DDD.matcher(text).matches();
}

public static void main(String... ignored) {
    for(String text: "Hello, 123-45-6789, 111-22-3333, 11-222-3333".split(", ")) {
        System.out.println(text+" is valid: "+isDDD_DD_DDDD(text));
    }
}

打印

Hello is valid: false
123-45-6789 is valid: true
111-22-3333 is valid: true
11-222-3333 is valid: false