Я создаю 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, "");
}
regex значение будет: "^(?![ ])(?=.*[\w]).{1,70}(?<!\s)$"
как мудрый, я буду передавать различное значение regex и что Я дал выше для Alphanumeric
. Я буду передавать разные значения регулярных выражений, как указано выше.
когда я выполняю выше, я получаю текстовое поле, и когда я пытаюсь ввести некоторые значения, я получаю следующее исключение: Uncaught SyntaxError: Unexpected token }
номер строки, заданный на консоли, не является правильным, и я показываю, что ошибка находится в line number 2
если я onKeyUp="inputFilter(this,"'+regex+'");
чем я не получаю это исключение.
Может кто-нибудь мне поможет в этом, пожалуйста...
Ошибка возникла из вашего regexpr: ^ (?! []) (? =. * [\ W]). {1,70} (?
var r = /^(?![ ])(?=.*[\w]).{1,70}(?<!\s)$/;
SyntaxError: Invalid regular expression: /^(?![ ])(?=.*[\w]).{1,70}(?<!\s)$/: Invalid group
Может быть, вы имеете в виду:
^(?![ ])(?=.*[\w]).{1,70}(?!<!\s)$
Обратите внимание на дополнительные '!' в последней группе: (?!