我在StackOverflow上发现了很多关于如何执行此操作的问题,但它只是对我无效。将变量插入到正则表达式字符串中
var username = "abcdefg";
var min_length = 3;
var max_length = 24;
var regex = new RegExp('^[\w.-]{' + min_length + ',' + max_length + '}$');
if (regex.test(username))
document.getElementById('status').innerHTML = 'match';
else
document.getElementById('status').innerHTML = 'no match';
我也用斜杠试图前后:
new RegExp('/^[\w.-]{' + min_length + ',' + max_length + '}$/')
而且我也试过用双引号代替单引号(不知道正则表达式对待单引号为保留或某事)。
如果我删除引号,并把在数字为变量正常工作:
new RegExp(/^[\w.-]{3,24}$/)
的jsfiddle: http://jsfiddle.net/88ef3/
你肯定,如果你只需要输入数字而不是工作? – adeneo
看看这个:http://jsfiddle.net/88ef3/1/ – Gavin
你在包括'/'在你的模式在jsfiddle –