如何解决javascript中用于验证的正则表达式1-10
| 1-10和1-5范围内的数字的正则表达式是什么?请帮助这个陷入困境的灵魂。解决方法
您可以使用javascript中的简单数字检查来实现这一点:
// Convert input to integer just to be sure
mynum = parseInt(mynum,10);
// Check number-range
if(mynum >= 1 && mynum <=10)
and
if(mynum >= 1 && mynum <=5)
如果您真的想使用正则表达式:
/^([1-9]|10)$/
and
/^[1-5]$/
更新:
修复了第一个正则表达式以正确匹配字符串边界
在第一个示例中添加了parseInt以确保正确的数字检查
, 这不是正则表达式的好用法。
使用简单条件:
if (x > 0 && x < 6) {
// x is 1 - 5
}
if (x > 0 && x < 10) {
// x is 1 - 10
}
, 对于1-5,您只需要将其封装为字符类:
/^[1-5]$/
对于1到10,您只需要一个其他选择:
/^([1-9]|10)$/
, 您是否有理由要使用正则表达式?
/([1-9]|10)/
, 使用数字比较。以下数字扩展名可以检查数字是否在2个值之间:
Number.prototype.between =
function(lower,upper,includeBoundaries){
lower = Number(lower);
upper = Number(upper);
noCando = isNaN(lower) ||
isNaN(upper) ||
lower>=upper;
if ( noCando ) {
throw \'wrong arguments or out of range\';
}
return includeBoundaries
? this >= lower && this <= upper
: this > lower && this < upper
};
// usage:
(12).between(1,12); /=> false
(12).between(1,12,true); /=> true
(12).between(0,15,true); /=> true
(0).between(-5,1); //=> true
该函数将参数转换为Number,因为0可以在javascript中评估为布尔值,以便能够检查参数是否为实数值,并能够检查是否lower不大于/等于upper。在这些情况下,将引发错误。
includeBoundaries
参数还会检查Number是否等于lower或upper,如果未提供,则该函数返回一个真实的“ between”检查。
, 答案是
/^([1-9]|10)$/
, 1-10可以是
/^([1-9]|10)$/
而对于1-5
/^[1-5]$/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。