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

渡された文字列が無効falseな場合に関数が返されることになっている場合は、論理 AND が必要です。

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 に答える