import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
*校验输入的内容是否为数字
*/
public class TestRegexp {public static void main(String[] args) {
System.out.println(isNumeric("-"));
System.out.println(isNumeric(""));
System.out.println(isNumeric(null));
System.out.println(isNumeric("d"));
System.out.println(isNumeric("-1"));
System.out.println(isNumeric("-0"));
System.out.println(isNumeric("1"));
System.out.println(isNumeric("1.1"));
System.out.println(isNumeric("-1.1"));
}
public static boolean isNumeric(String str){
String regex = "^(-?[1-9]\\d*\\.?\\d*)|(-?0\\.\\d*[1-9])|(-?[0])|(-?[0]\\.\\d*)$";
if(str == null){
return false;
}
Pattern pattern = Pattern.compile(regex);
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ){
return false;
}
return true;
}
}
如果想用到JS中,可以使用如下方法:
//如果是数字则返回true
function isNumeric(data){
var regex = new RegExp("^(-?[1-9]\\d*\\.?\\d*)|(-?0\\.\\d*[1-9])|(-?[0])|(-?[0]\\.\\d*)$");
if(!regex.test(data)){
return false;
}
return true;
}
//JS验证是否为空 :一般验证输入是否为数字,首先要判断是否为空
function isNull(data){
//如果数字为0,也会认为为null
if(data == 0) return false;
//如果输入为空,则返回
return (data == "" || data == undefined || data == null) ? true : false;
}