我正在尝试对输入字段执行多个正则表达式测试。 脚本下方:
$("#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/