读书人

一个正则表达式断言在javascript中的有

发布时间: 2012-02-28 13:06:34 作者: rapoo

一个正则表达式断言在javascript中的问题
(?<![\-\(\)])aaa
为什么这个在c#中能用,在js中报错?
报错信息是

Error: Syntax error in regular expression

全部的代码:
<script >
function test2(){
var text2Value=document.getElementById("text1").value;

var test2 = /(?<![\-\(\)])aaa/
if(test2.test(text2Value)){
alert("true");
}else{
alert("false");
}
}
</script>
<input type="text" id="text1" name ="text1" value=""/>
</br>
<input type="button" id="button1" name ="button1" value="button1" onclick="test2()" />

请问我在javascript中应该如何写才能顺利使用?谢谢各位



[解决办法]

JS不支持以下两项
? <!
?<=







[解决办法]
/^[^-]aaa/
[解决办法]
var reg = new RegExp("([^\-\(\)])*aaa", "i");
if(test2.test(reg))
{
alert(RegExp.$1)
}

[解决办法]
23-32-32-32
[^\-]已经占了一个了,后面接下来的[\d]只有一个,没2个了
^[^\-][\d]{2}\-[\d]{2}\-[\d]{2}\-[\d]{2}$
[^\-]第一个不是-,是2,ok
然后3-匹配[\d]{2}时出错

读书人网 >JavaScript

热点推荐