对于允许最多7位数的格式,需要使用正则表达式,每隔三位数后使用逗号。
有效值为:
7
77
555
1,234
12,345
444,888
4,669,988
目前我使用的([0-9]{1}(,?[0-9]{3}){1,2}
在前三种情况下失败。
答案 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;
}