2011-03-23 101 views
0

如何创建最小长度为4,最大5而不是0的数字输入;数字输入最小长度4,最大5而不是0

像你可以输入1234但第5位不应该是0;所以没有12340也不超过4999?


回答由https://stackoverflow.com/users/665261/billy-moon
替换(/ [^ 0-9] /, '') - >使得数字;
replace(/ ^([0-9] {4})[^ 1-9] + /,'$ 1') - >使第5位数不为0
replace(/^[^ 0-4] /, “”) - >使第一位数字0-4

代码:

$('input').bind('keyup change',function(){ 
    $(this).attr({ value: $(this).attr('value').replace(/[^0-9]/,'').replace(/^([0-9]{4})[^1-9]+/,'$1').replace(/^[^0-4]/,'') }) 
}) 

回答

2

我想补充一点,验证领域的keyup事件,并替换错误的输入像这样

$('input').bind('keyup change',function(){ 
$(this).attr({ value: $(this).attr('value').replace(/[^0-9]/,'').replace(/^([0-9]{4})[^1-9]+/,'$1') }) 
}) 
+0

这几乎是我所需要的,它需要任何插件或需要旧的jQuery,我在v1.4.2。并替换不是功能错误显示。 – flakerimi 2011-03-23 19:37:46

+0

好吧,我只是在做这个工作,只计算数字,第五个数字不能是0,但不是限制,分钟4最多5或至少最多5 – flakerimi 2011-03-23 19:48:08

+0

我已经添加了最大长度输入,似乎没有问题。 – flakerimi 2011-03-23 19:53:50

0

不能设置一个“最小长度”,但可以验证时,你想要的输入(变化,形式提交等):

if(!input.value.test(/^\d{4}[1-9]?$/)){ 
    // fail 
} 
相关问题