我正在尝试验证表单字段,并且是javascript新手。我一直在使用!isNaN,但这似乎只能检测出是否绝对没有数字。例如,在下面的示例中,如果我在输入字段中输入了“ Willy,Fred5”,它似乎可以检测到字符串并且不返回false。我需要做的是检测输入字段中是否有一个数值。但似乎找不到有效的答案。
function fnCheckName(strName) {
strName.style.background = "#FFFFFF";
var nameChk = strName.value;
if (nameChk.indexOf(', ') < 0 || nameChk == "" || !isNaN(nameChk){
strName.style.background = "#FBEC5D";
return false}
else {return true}
最佳答案
/\d/.test('foo5')
outputs: true
/\d/.test('foo')
outputs: false
/\d/.test('5')
outputs: true
因此,鉴于这些输入和输出,我认为您修改后的代码将是:
function fnCheckName(strName) {
strName.style.background = "#FFFFFF";
var nameChk = strName.value;
if (nameChk.indexOf(', ') < 0 || nameChk == "" || !/\d/.test(nameChk)) {
strName.style.background = "#FBEC5D";
return false
}
else {
return true
}
}