0

「ユーザー名」フィールドの10桁をチェックするための次のコード(私に与えられたもの)があります。続行するには、フィールドは正確に 10 桁である必要があります。文字や特殊文字は使用できません。数字のみを使用してください。誰かがこのスニペットを修正して、正しく動作するようにすることはできますか? 現在、テキスト、数字、短いもの、長いものなど、すべてを通過させています。コードは次のとおりです。

function checkUsername() {
  var exp = /^\d{10}$/;
  if (entered.length(exp) >10 && entered.length(exp) <=9) {
    alert("Username is not in the proper format.  You are an idiot.");
    return false;
  }
  return true;
}
4

2 に答える 2

2

正規表現テストはtrueまたはを返しますfalseが、文字列の長さは返しません。

var exp = /^\d{10}$/;
if(exp.test(entered))
{
  // test passed, go through
}

そして、あなたのユーザーをばか呼ばないでください。ユーザーは間違いを犯します ;) それは当然のことです。

于 2013-10-23T20:44:46.440 に答える
0

うーん、推測ですが、正規表現の文字が入力された文字と一致する場合(この変数が存在することを確認してください)、または入力された文字が小さい場合、あなたはばかです

function checkUsername() {
  var exp = /[^\d.]/g;

  if (entered.match(exp) || entered.length <=9) {
    alert("Username is not in the proper format.  You are an idiot.");
  return false;
}
  return true;
}
于 2013-10-23T20:41:34.347 に答える