数字输入最小长度4,最大值5而不是0

时间:2011-03-23 19:25:56

标签: jquery jquery-validate

如何进行最小长度为4,最大为5且不为0的数字输入;

就像你可以输入1234但第五位不应该是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 个答案:

答案 0 :(得分:2)

我会添加一个验证字段的keyup事件,并替换像这样的错误输入

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

答案 1 :(得分:0)

您无法设置“最小长度”,但您可以随时验证输入(更改,表单提交等):

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