14 个解决方案
#1
^([1-9]\d{1,3})|10000|0$
#2
1楼 我试了一下 不行!!!
#3
...这个用得着正则么,直接if num > 0 & num < 1000不就结了。
#4
为何要用正则?
直接:
var num = 333;
if(num>0 && num<10000) {
return true;
}
不就行了
直接:
var num = 333;
if(num>0 && num<10000) {
return true;
}
不就行了
#5
我做的分页功能,是表单验证啊,所以必须是整数,num>0 && num<10000,那num要是浮点数怎么办?
#6
临时写的,没验证过
#7
^([1-9]\d{1,4})|10000|0$
#8
一楼的和七楼的匹配不了1-9,^\d|[1-9]\d{1,3}|10000$是正解
#9
1001呢?
#10
([1-9]\d{0,3})||10000
#11
([1-9]\d{0,3})|0|10000
#12
这样呢
^[1-9]([0-9]\d{0,3})|10000|0$
#13
改改就成
^([1-9]\d{0,3})|10000|0$
#14
String regex = "(?!0)[0-9]{1,4}|10000|0"; //包括10000和0的时候 ,不包括直接(?!0)[0-9]{1,4}
for (int i = 0; i<=10000; i++) {
if (!((i+"").matches(regex))){ //不匹配就打印出来
System.out.println(i);
}
}
System.out.println("0012".matches(regex)); //理论上讲这种也应该不符合。
#1
^([1-9]\d{1,3})|10000|0$
#2
1楼 我试了一下 不行!!!
#3
...这个用得着正则么,直接if num > 0 & num < 1000不就结了。
#4
为何要用正则?
直接:
var num = 333;
if(num>0 && num<10000) {
return true;
}
不就行了
直接:
var num = 333;
if(num>0 && num<10000) {
return true;
}
不就行了
#5
我做的分页功能,是表单验证啊,所以必须是整数,num>0 && num<10000,那num要是浮点数怎么办?
#6
临时写的,没验证过
#7
^([1-9]\d{1,4})|10000|0$
#8
一楼的和七楼的匹配不了1-9,^\d|[1-9]\d{1,3}|10000$是正解
#9
1001呢?
#10
([1-9]\d{0,3})||10000
#11
([1-9]\d{0,3})|0|10000
#12
这样呢
^[1-9]([0-9]\d{0,3})|10000|0$
#13
改改就成
^([1-9]\d{0,3})|10000|0$
#14
String regex = "(?!0)[0-9]{1,4}|10000|0"; //包括10000和0的时候 ,不包括直接(?!0)[0-9]{1,4}
for (int i = 0; i<=10000; i++) {
if (!((i+"").matches(regex))){ //不匹配就打印出来
System.out.println(i);
}
}
System.out.println("0012".matches(regex)); //理论上讲这种也应该不符合。