2025-03-01 11:33:07
你好,是
两个规则:
1、
2、1-1000:考虑是否包含上边界,如包含稍微麻烦一点点,如不包含简单点
具体代码如下:
var reg = /^\+?[1-9]\d{0,2}$/; // 不包含边界
var regFull = /^(\+?[1-9]\d{0,2}|\+?1000)$/; // 包含上边界
下面我们看几个
'1000'.match(regFull); // ["1000", "1000"]
'+1000'.match(regFull); // ["+1000", "+1000"]
'999'.match(regFull); // ["999", "999"]
'+999'.match(regFull); // ["+999", "+999"]
'1'.match(regFull); // ["1", "1"]
'0'.match(regFull); // null
'-999'.match(regFull); // null
'1001'.match(regFull); // null
好了,一切正常。但是我们忽略了另一种情况:
'001'.match(regFull); // null
'+001'.match(regFull); // null
但实际他们都是在这个区间内的正整数。我们可以这么做:
(+'+001' + '').match(regFull); // ["1", "1"]
(+'001' + '').match(regFull); // ["1", "1"]
好了,都解决了。
希望是你想要的答案,望采纳~~