Javascript 仅限正则表达式Nan错误号

Javascript 仅限正则表达式Nan错误号,javascript,regex,nan,Javascript,Regex,Nan,我有一个带有input=“text”的HTML表单。我需要这是文字,而不是数字 在javascript方面,我尝试删除非数字字符,这仅在我键入的第一个字符是数字时有效。如果我先打一封信,我会得到一个错误。是的,我需要parseInt,因为在这个脚本之后会启动另一个脚本。谢谢 function numberonly(id) { var x = document.getElementById(id); var numbers = x.value.replace(/[^\d]/g,''

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

在javascript方面,我尝试删除非数字字符,这仅在我键入的第一个字符是数字时有效。如果我先打一封信,我会得到一个错误。是的,我需要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);
    }
}

如果可能的话,我会避免使用这里看到的“事件”选项

谢谢大家。问题解决了。是parseInt给出了一个错误。我认为这是在解析blank的意思

解决方案:

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
}

您可能希望
if(numbers.length>0)
而不是
x.value
。但是您真的希望输入
2和5来生成值
25
?!你的正则表达式(Chrome)似乎对我很好(谢谢PartyLich)。可能是后面的代码导致了错误。但这有点奇怪,我会看看的。输入的是数字,所以我不需要空格。我使用文本和模式,这样在iphone中更容易输入。谢谢,乔治,我没注意到。但这不是问题所在。我有另一个脚本运行类似的。长度正确。将在我需要帮助时更新。谢谢