最近用到了java正则验证数字需求,上网查了一些,有的对有的不完善,自己根据示例,进行了修改,自己将不断地补充修改这里的方法,希望大家一起探讨。
public static boolean isNumber(String number) {
boolean isNumber = false;
int index = number.indexOf(",");
if (index >= 0) {
//有逗号等分隔符的数字
isNumber = number
.matches("[+-]?[1-9]+[0-9]*(,[0-9]{3})+(\\.[0-9]+)?");
} else {
isNumber = number.matches("[+-]?[1-9]+[0-9]*(\\.[0-9]+)?");
}
return isNumber;
}
1、整数
"^([1-9]\d*)|(0)$"
2、2011-10-10更新
//之前自己的:
"[+-]?(([1-9]+[0-9]*(\\.[0-9]+)?)|(0)|(0\\.[0-9]+))"
//优化后的:
"[+-]?((0|([1-9]+[0-9]*))(\\.[0-9]+)?)"
分享到:
2011-08-30 13:23
浏览 2189
评论