我是正则表达式的新手。我有这个问题。我需要将 addons 变量中的字符作为允许的字符添加到下一个正则表达式 re 。
var addons = '_-';
re = new RegExp(/^[a-zA-Z]+$/i);
console.log('match a', re.test('a'));
console.log('match a_', re.test('a_'));
console.log('no match 9', re.test('9'));
console.log('no match 9_', re.test('9_'));
有什么建议吗?感谢。
答案 0 :(得分:1)
您还需要构建允许这些字符的正则表达式:
var addons = '_-';
re = new RegExp('^[a-zA-Z]+['+addons+']?$','i');
console.log('match a', re.test('a'));
console.log('match a_', re.test('a_'));
console.log('no match 9', re.test('9'));
console.log('no match 9_', re.test('9_'));
这将测试addons
(括号)中的任何字符,而且不需要它们(?
)。