仅限正则表达式错误号

时间:2014-12-12 15:34:37

标签: javascript regex nan

我有一个带有input =“text”的HTML表单。我需要这是文本而不是数字。

在javascript方面,我尝试删除非数字字符,只有在我键入的第一个字符是数字时才有效。如果我先输入一封信,我会收到NaN错误。是的,我需要parseInt,因为另一个脚本在此之后启动。感谢

function numberonly(id)
{
    var x = document.getElementById(id);
    var numbers = x.value.replace(/[^\d]/g,'');
    if (x.value.length>0)
    {
        x.value = parseInt(numbers, 10);
    }
}

如果可能,我会避免使用“event”选项,如此处所示。 http://webcheatsheet.com/javascript/disable_enter_key.php

1 个答案:

答案 0 :(得分:1)

谢谢你们。问题解决了。是parseInt发出错误。我认为它正在解析空白的意思。

解决方案:

var x = document.getElementById(id);
var numbers = x.value.replace(/[^\d]/g,'');
if (numbers.length>0)
{
    x.value = parseInt(numbers, 10);
}
else
{
    x.value = "";  //0 can be used
}