我动态创建textbox
,如下所示:
var dataInputBox = '<input type=text name='+id+' id=datePicker maxlength='+maxlength+' title="'+tooltip+'" onKeyUp="inputFilter(this,"'+regex+'");/>';
这是我的javascript方法:
function inputFilter(inputbox,regex) {
txb.value = inputbox.value.replace(regex, "");
}
正则表达式值将是:"^(?![ ])(?=.*[\w]).{1,70}(?<!\s)$"
我会传递不同的正则表达式值,而我上面给出的是Alphanumeric
。我将传递不同的正则表达式值,如上所述。
当我执行上面的操作时,我得到了文本框,当我尝试输入一些值时,我得到以下异常:Uncaught SyntaxError: Unexpected token }
在控制台上给出的行号不正确,如果我删除line number 2
,则表明错误在onKeyUp="inputFilter(this,"'+regex+'");
,而不是我没有得到此异常。
有人可以帮我解决这个问题......
答案 0 :(得分:0)
错误来自你的regexpr:^(?![])(?=。* [\ w])。{1,70}(?
var r = /^(?![ ])(?=.*[\w]).{1,70}(?<!\s)$/;
SyntaxError: Invalid regular expression: /^(?![ ])(?=.*[\w]).{1,70}(?<!\s)$/: Invalid group
也许你的意思是:
^(?![ ])(?=.*[\w]).{1,70}(?!<!\s)$
注意额外的'!'在最后一组:(?!