Javascript 仅限正则表达式Nan错误号
我有一个带有input=“text”的HTML表单。我需要这是文字,而不是数字 在javascript方面,我尝试删除非数字字符,这仅在我键入的第一个字符是数字时有效。如果我先打一封信,我会得到一个错误。是的,我需要parseInt,因为在这个脚本之后会启动另一个脚本。谢谢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,''
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中更容易输入。谢谢,乔治,我没注意到。但这不是问题所在。我有另一个脚本运行类似的。长度正确。将在我需要帮助时更新。谢谢