0

次の jquery スクリプトを実行しています。

<html>
<head>

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("#textThing").blur(function(){
    var isNumber = $("#textThing").val().match(/^\d+/);

    $("#p2").html(isNumber);
  });
});

</script>

</head>

<body>
<input type="text" id="textThing" />
<p id="p2">Paragraph 2</p>
</body>
</html>

問題は、入力の選択を解除しても、p2 が何も表示しないことです。私は何を間違えましたか?

4

4 に答える 4

1

あなたは言う必要があります:

$("#p2").html(isNumber == null ? "" : isNumber[0]);

それ以外の:

$("#p2").html(isNumber);

....match()一致した場合は配列を返すためです。ここを参照してください: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/match

ここに作業バージョンがあります: http://jsfiddle.net/k45Ka/5/

于 2012-06-21T03:59:38.810 に答える
1

動作デモ http://jsfiddle.net/r4VPZ/3/ または http://jsfiddle.net/r4VPZ/4/

.match上記の説明を見ることができます。

またはapiを使用.toStringすることもできます。処理を行うか、http://www.w3schools.com/jsref/jsref_isnan.aspを調べることができます。.html.textnullisNaN

役に立てば幸いです。何か見逃した場合はお知らせください。乾杯:)

よく読んでください:http://api.jquery.com/html/ & http://api.jquery.com/text/

Match: 何を.match返しますか :正規表現と jquery を学ぶ - .match は何を返しますか?

コード

$(document).ready(function(){
  $("#textThing").on("blur",function(){
    var isNumber = $("#textThing").val().match(/^\d+/);

     $("#p2").html(isNumber.toString());
    // $("#p2").text(isNumber);
  });
});

//var folioIsNumResult = $("#Folio").val().match(/^\d+/i);​​
于 2012-06-21T04:02:56.783 に答える
1

デモ: http://jsfiddle.net/epinapala/TbCfc/

正規表現が一致しない場合、match は null を返します。

$(document).ready(function(){
  $("#textThing").blur(function(){
    var isNumber = $(this).val().match(/^\d+/);
      if(isNumber == null){
          var res = "not a number"
              }else{
              var res = "valid number";
              }
    $("#p2").html(res);
  });
});

</p>

于 2012-06-21T04:03:12.800 に答える
0

テストが成功または失敗した場合に入力するテキスト値を作成していません

デモhttp://jsfiddle.net/9MJNj/

   $("#p2").html(isNumber ? 'Is number':'Is not');
于 2012-06-21T03:57:54.887 に答える