javascript - 多个 jQuery 正则表达式测试

标签 javascript jquery ajax

我正在尝试对输入字段执行多个正则表达式测试。 脚本下方:

$("#search-registration").keyup(function () {
    var input_data = $('#search-registration').val();

    var regexTest = function() {
      this.withPrefix = /^[iI]-[a-zA-Z]{4}$/;
      this.noPrefix = /^[a-zA-Z]{4}$/;
    }

    if(regexTest.withPrefix.test(input_data) || regexTest.noPrefix.test(input_data)) {
      console.log(input_data);
      $( "div.result" ).html(input_data);
    }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="search-registration" name="regcode" class="form-control" placeholder="Search">
<div id="result">

</div>

我无法执行双正则表达式,并且收到以下错误: 未捕获的类型错误:无法读取未定义的属性“测试” 我究竟做错了什么?老实说我无法弄清楚这个问题。 谢谢

最佳答案

您需要在函数之前添加“new”关键字,如下所示:

  var regexTest = new function() {
      this.withPrefix = /^[iI]-[a-zA-Z]{4}$/;
      this.noPrefix = /^[a-zA-Z]{4}$/;
    }

关于javascript - 多个 jQuery 正则表达式测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52016225/

相关文章:

javascript - jQuery 单击并滚动到下一个类不起作用的 div

javascript - 如何在 tensorflow.js 中使用图像作为输入?

javascript - magento中默认的js文件到底用在哪里?

jquery - Symfony JQuery 对 HTML 的响应

javascript - 在 virutemart/Joomla 中通过 rockettheme 在 vm mynxx 模板中使用 AJAX 时出错

javascript - 从绑定(bind)到事件的另一个函数调用绑定(bind)到事件的函数不起作用

javascript - 我在发出 HTTP get 请求时收到 "undefined",但只是第一次

jquery - 如何处理 jquery ajax 与 jsp 数据库更新?

javascript - TinyMCE:ajax 请求后按钮不起作用

javascript - 如何将嵌套的全局或局部 jquery 变量调用到 html 中?