数字检查和使用模式?

Number check and using pattern?

关键是,在 jquery.validation.js $.validator.addMethod("pattern"... 模式中,一般被修改为:

"^(?:" + myPattern + ")$" 在 jquery.validation.js 源代码的第 612 行,因此模式检查无效。如果我输入 10 10.0 或 10,0.

则等于

text:   "ok",
id:     "btn_ok",
name:   "btn_ok",
click: function() {
  $("#dataset").validate({
  debug: true,
  rules: {
    myNumInput: {
  pattern: "((/^\d+)|(/^\d+\,\d*?))$"
    }
  },

  showErrors: function(errorMap, errorList) {
    var jsMsg = "";
      if (errorList.length > 0) {
          jsMsg = "<div id='msg' class='msg' style=''><div>Error: Value must be " + errorList[0].element.name.toUpperCase()  + " " +       
          errorList[0].message.toLowerCase() + "</div></div>";
    $(".isReturn").html("<b>" + jsMsg + "</b>");
          errorList[0].element.style.border = "solid red 1px";
          errorList[0].element.focus();
      }
  }
});

有什么想法吗?

已解决!

重点是,模式的关键...

而不是使用此语法:

模式:“((/^\d+)|(/^\d+\,\d*?))$”

这个有效...:

模式:/((^\d+)|(^\d+\,\d*?))$/

重要的部分是“-sign。不要使用它。应该是文档的一部分。