正则表达式验证整数

时间:2013-07-18 09:49:12

标签: java

对于允许最多7位数的格式,需要使用正则表达式,每隔三位数后使用逗号。

有效值为:

7
 77
 555
 1,234
12,345
444,888
4,669,988

目前我使用的([0-9]{1}(,?[0-9]{3}){1,2}在前三种情况下失败。

3 个答案:

答案 0 :(得分:2)

使用这个:

[0-9]{1,3}(,[0-9]{3}){0,2}

要验证字符串中的整数(必须删除):

try {
  Integer.parseInt(str.replaceAll(",","");
  //valid integer
} catch (Exception e) {
  //not valid integer
}

答案 1 :(得分:2)

试试这个正则表达式

"\\d{1,3}|\\d{1,3},\\d{3}|\\d{1,2},\\d{3},\\d{3}"

答案 2 :(得分:0)

\d{1,3}(,\d{3}){0,2}

尝试使用此正则表达式以及数字验证进行长度检查。

public boolean isNumValid(String num) throws ParseException {
    if (!(NumberFormat.getInstance().parse(num).intValue() > 9999999)) {
        if (num.matches("\\d{1,3}(,\\d{3}){0,2}")) {
            return true;
        }
    }
    return false;
}