var x = 3;
var y = 11;
var str = 'adcdefg';//用户名
var regk = "/^[a-zA-Z\d]\w{"+x+","+y+"}[a-zA-Z\d]$/";//正则
var reg = eval(regk);
alert(reg);
if(reg.test(str)){
alert('1');
}else{
alert('0');
}
如上代码,alert弹出的内容正是正则表达式的内容,然而在匹配之后,仍旧弹出0,这是为什么?该如何修改?谢谢
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
用RegExp:比如
var re = new RegExp("^\\d+" + 变量 + "$", "abc")这么写
regk,用eval的时候\被转义了用原生的 RegExp( ),不推荐用eval:
var reg = RegExp(带变量的字符串, 参数)
第一个字符串相当于原本正则 / / 里的内容。
转义符\改成\\
或者最好改成