0

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

有效值为:

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

目前我正在使用([0-9]{1}(,?[0-9]{3}){1,2}which 在前三个场景中失败。

4

3 回答 3

2

试试这个正则表达式

"\\d{1,3}|\\d{1,3},\\d{3}|\\d{1,2},\\d{3},\\d{3}"
于 2013-07-18T10:26:03.847 回答
2

使用这个:

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

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

try {
  Integer.parseInt(str.replaceAll(",","");
  //valid integer
} catch (Exception e) {
  //not valid integer
}
于 2013-07-18T09:51:11.697 回答
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;
}
于 2013-07-18T09:53:54.833 回答