2

テキストフィールドに数字のみが含まれているかどうかを確認するこの関数があります。このフィールドに文字がある場合、エラーが表示されます

//Tel Validate
function is_valid_tel() {
 $this = $("#inputTel");
 var pattern = new RegExp("^[0-9]*$");
if(pattern.test($this.val())){ // valid
 if ($this.closest(".control-group").hasClass("error"))
  $this.closest(".control-group").removeClass("error");
  $this.siblings(".help-inline").css("display", "none");
return true;
} else { // error
 if (!$this.closest(".control-group").hasClass("error"))
  $this.closest(".control-group").addClass("error");
  $this.siblings(".help-inline").css("display", "block");
  return false;
 }
}

テキスト フィールドに文字を入力しても、エラーは発生しません。私のjquery/javascriptは制限されていますが、これは少なくともうまくいくと思いましたか? 正規表現は0〜9の数字をチェックするためです。また、数字が入力された場合、11桁に一致することを確認したいと思います

どんな助けでも感謝します

4

2 に答える 2

6

この正規表現を使用する^\d{11}$

古い正規表現

^文字列の始まり

[0-9]*0桁以上

$文字列の終わり

新しい正規表現

^文字列の始まり

\d{11}11桁(\d== [0-9]

$文字列の終わり

于 2013-02-06T09:52:42.637 に答える
4

次の正規表現を試してください

var pattern = new RegExp("^[0-9]{11}$");

これはより読みやすいバージョンです:

var pattern = new RegExp("^\d{11}$");

特殊文字に関する便利なリファレンスはここにあります

于 2013-02-06T09:52:53.990 に答える