非零和非十进制数的 JQuery 正则表达式验证

Posted

技术标签:

【中文标题】非零和非十进制数的 JQuery 正则表达式验证【英文标题】:JQuery Regex Validation for non zero and non decimal numbers 【发布时间】:2014-07-02 20:05:35 【问题描述】:

目前我正在使用一种完美的十进制验证方法:

$(".allownumericwithoutdecimal").on("keypress keyup blur", function (event) 
     $(this).val($(this).val().replace(/[^\d].+/, ""));
     if ((event.which < 48 || event.which > 57)) 
         event.preventDefault();
     
 );

现在我需要一种方法,它可以让我插入 1-10000 之间的数字,并且不允许任何人在第一位插入 0,但任何人都可以在第二位或第三位插入零,而且我也没有'不想要小数

【问题讨论】:

【参考方案1】:

你可以调整你的正则表达式来检查所有不是数字或 0 的东西,只是在你的值的第一位,另外丢弃所有不是这样的数字:

$(".allownumericwithoutdecimal").on("keypress keyup blur", function (event) 
     $(this).val($(this).val().replace(/^([^\d]|0)[^\d].+|[^\d].+/, ""));
     if ((event.which < 48 || event.which > 57)) 
         event.preventDefault();
     
 );

【讨论】:

它适用于字母和小数点,但不适用于前导 0

以上是关于非零和非十进制数的 JQuery 正则表达式验证的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式实例

常用的正则表达式

常用的正则表达式

正则表达式规则

常用数字字母组合正则表达式

常用的正则表达式