一般用reg = new RegExp("...") 和 reg = /.../有什么区别呢?
<input type=text id="txt" onchange=fun() />
<script>
function fun(){
var txt = document.getElementById("txt").value;
//var reg = /\d{6}/;
var reg = new RegExp("\d{6}");
alert(reg.test(txt));
}
</script>用下面这个正则就实现不了,用上面的就可以实现,为什么呢?
<input type=text id="txt" onchange=fun() />
<script>
function fun(){
var txt = document.getElementById("txt").value;
//var reg = /\d{6}/;
var reg = new RegExp("\d{6}");
alert(reg.test(txt));
}
</script>用下面这个正则就实现不了,用上面的就可以实现,为什么呢?
var reg = new RegExp("\\d{6}");
这俩才是等价的
perl模式的正则可以少写一个反斜杠
new RegExp 中可以使用变量
比如
var i = 6;
var reg = new RegExp('\\d{'+i+'}')
根据各位指导发现var reg = new RegExp("\d{6}");匹配的应该是6个d
结果检测果然是的,呵呵!