Javascript 正则表达式需要 1 到 999999 之间的整数?

标签 javascript jquery regex jquery-plugins

我希望我能自己解决这个问题,但我从来没有完全掌握正则表达式。他们看起来很强大。我想问哪里是学习 javascript reg ex 的最佳资源,但那是主观的,我不想让我的问题结束。我在网络表单上有一个文本框,当它有一个值时,该值应该是 1 和 999999 之间的整数。我已经使用 jquery 数字插件只允许数字,所有其他击键都被拒绝,有一个 onBlur 实现,如果某些正则表达式不匹配,将调用回调...这就是代码...

$.fn.numeric.blur = function()
{
var decimal = $.data(this, "numeric.decimal");
var callback = $.data(this, "numeric.callback");
var val = $(this).val();
if(val != "")
{
    var re = new RegExp("^\\d+$|\\d*" + decimal + "\\d+");
    if(!re.exec(val))
    {
        callback.apply(this);
    }
}
}

我可以修改正则表达式以确保 val 是 1 到 999999 之间的有效整数吗?任何帮助,将不胜感激。同样显然我想自己做这件事,学习 javascript 正则表达式的简单方法是什么?非常感谢大家。祝大家假期愉快!

干杯,
~ck 在圣地亚哥

最佳答案

在这种特殊情况下,我建议不要使用正则表达式。只需使用普通的好旧 Javascript:

if( typeof decimal === 'number' && (decimal > 1 && decimal < 999999) ) {
     // here we go
}

要将值转换为数字,您可以使用 + 运算符或 .parseInt()

var val = +$.trim($(this).val());
if( val && (decimal >= 1 && decimal <= 999999) ) {
}

关于Javascript 正则表达式需要 1 到 999999 之间的整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4501645/

相关文章:

javascript - 如何在网页首次加载时向 map 添加标记?

javascript - 我怎样才能得到一个动态模式来映射我的卡片列表?

javascript - 在 jquery 中每次单击都会启动新动画

python - 如何在python中的字符串中搜索最后一次出现的正则表达式?

Python:去掉一个通配符

javascript - 如何禁止不在服务器中的人

javascript - 如何使用 jquery 或 javascript 获取文件的扩展名?

php - 使用ajax处理php双数组

javascript - 有没有办法使用 jQuery 禁用按钮而不使其透明?

regex - 如何用单个空格替换换行符/换行符,但前提是它们在开始/结束正则表达式中?