防止输入前导0

时间:2014-10-28 03:44:25

标签: javascript validation zero

我可以输入

0 0123 。如何防止用户在输入文本字段的第一个位置输入0?

2 个答案:

答案 0 :(得分:4)

让他们输入它,只需在焦点改变时修剪它:

inputElement.onblur = function() {
  this.value = this.value.replace(/^0+(?=\d)/,'');
}

Fiddle

请注意,它专门在0之后寻找一个数字(\d),因此它不会触及0.123之类的零点。如果你想摆脱这些,只需将\d更改为.,它与任何角色都匹配。

答案 1 :(得分:0)

执行此操作的一种方法是使用charAt()检查输入中的第一个字符。

Demo

JS:

function check(){
    var number = document.getElementById('input').value;
    if(number.charAt(0) === 0)
        alert('Leading zero in the input.')
    else
        alert('No leading zero in the input.')
}

更容易解决方案:

对于输入,只需像数组一样检查第一个字符:

if(number[0] === '0')
        // do something

Demo