RegExp的错误

时间:2016-05-02 16:45:45

标签: javascript jquery regex

我正在进行多项选择。这是我的代码:



$(function() {
  var q;
  var r;
  $("body").on("click", "a[id*='addQues']", function() {

    var identity = $(this).attr('id');
    /\[([0-9]+)\]$/.exec(identity);
    var qbis = parseInt(RegExp.$1);
    q = (qbis + 1);

    $('<label for="nomQues[' + q + ']">Question ' + q + ': </label><input type="text" name="nomQues[' + q + ']" id="nomQues[' + q + ']"/><br/><input type="radio" name="quesType[' + q + ']" value="VF[' + q + ']" id="VF[' + q + ']"/><label for="VF[' + q + ']">Vrai/Faux</label><input type="radio" name="quesType[' + q + ']" value="QCM[' + q + ']" id="QCM[' + q + ']"/><label for="QCM[' + q + ']">QCM</label><input type="radio" name="quesType[' + q + ']" value="QCU[' + q + ']" id="QCU[' + q + ']"/><label for="QCU[' + q + ']">QCU</label><br/><hr id="bar[' + q + ']"/>').insertAfter($(this));
    $('a[id="addQues[' + qbis + ']"]').remove();
    $('<a id="addQues[' + q + ']">Ajouter une question</a>').insertAfter($("#bar\\[" + q + "\\]"));

  });

  $("body").on('change', 'input[name*="quesType"]', function() {

    var identity1 = $(this).attr('name');
    var regex1 = new RegExp("\\[([0-9]+)\\]$");
    var result1 = regex1.exec(identity1);
    q = parseInt(result1[0]);

    var identity2 = $("input[name*='[" + q + "][" + r + "]']").attr('name');
    var regex2 = new RegExp("\\[([0-9]+)\\]$");
    var result2 = regex2.exec(identity2);
    r = parseInt(result2[0]);
    alert("One");

    if (isNaN(r)) {
      r = 1;
      alert("Two");

    } else {
      alert("Three");

    }

  });

});
&#13;
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<!DOCTYPE html>

<html>

<head>
  <title>QCM</title>
  <meta charset="utf-8" />
</head>

<body>
  <section>

    <label for="nameQuizz">Question:</label>
    <input type="text" name="nameQuizz" id="nameQuizz" />
    <br/>
    <hr/>
    <a href=# id="addQues[0]">Add a question</a>
  </section>
</body>

</html>
&#13;
&#13;
&#13;

为什么不出现警告(&#34; One&#34;)?你有解释吗?我想问题是由于创建了RegExp变量,但我不确定,因为它似乎是一个使用RegExp的好方法(根据MDN)。 提前感谢您的帮助。

0 个答案:

没有答案