0

我有这个功能:

function validate(str1,str2,str3){
  var alph=/^[A-Za-zÑñ]*$/;

  if((str1.match(alph) || str2.match(alph) || str3.match(alph))){
    return true;    
  }else{
    return false;
  }
}

如果我在输入文本中输入任何字母字符,它会返回 true。但是,当我输入任何数字时,它也会返回 true。

我只需要接受字母字符和空格,仅此而已。

谁能帮我?

4

2 回答 2

4

如果您的函数应该在传递的任何字符串无效时返回,您需要一个逻辑 AND false

return str1.match(alph) && str2.match(alph) && str3.match(alph);

此外,alph.test()如果您不使用匹配结果,您可以改用:

return alph.test(str1) && alph.test(str2) && alph.test(str3);
于 2013-05-17T08:33:26.533 回答
1

试试这个:

if((str1.match(alph) && str2.match(alph) && str3.match(alph)))
于 2013-05-17T08:36:03.063 回答