我正在尝试验证表单字段,并且是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
  }
}

09-25 17:46