<script type="text/javascript">
var a="a___ ___ ___b"
var b="a___ ___b"
if(/___ ___ ___/.test(a)){
alert("ok")
}else{
alert("err")
}
if(/___ ___ ___/.test(b)){
alert("ok")
}else{
alert("err")
}
var aa="a___"
var bb="a__b"
var cc="a__b_"
if(/___/.test(aa)){
alert("ok")
}else{
alert("err")
}
if(/___/.test(bb)){
alert("ok")
}else{
alert("err")
}
if(/___/.test(cc)){
alert("ok")
}else{
alert("err")
}
</script>
var a="a___ ___ ___b"
var b="a___ ___b"
if(/___ ___ ___/.test(a)){
alert("ok")
}else{
alert("err")
}
if(/___ ___ ___/.test(b)){
alert("ok")
}else{
alert("err")
}
var aa="a___"
var bb="a__b"
var cc="a__b_"
if(/___/.test(aa)){
alert("ok")
}else{
alert("err")
}
if(/___/.test(bb)){
alert("ok")
}else{
alert("err")
}
if(/___/.test(cc)){
alert("ok")
}else{
alert("err")
}
</script>
{
return /^[^_]*(?:_{3}[^_]*){3}$/.test(str);
}alert(_0009("___ ___ ___"));
alert(_0009("___ ___ ___ ___"));
alert(_0009("___ __ ___"));
alert(_0009("___ ___"));
alert(_0009("_______"));
<script language=javascript>
function _0009(str)
{
return (str.replace(/___/g,"").indexOf("_")==-1)
}alert(_0009("___ ___ ___"));
alert(_0009("___ ___ ___ ___"));
alert(_0009("___ __ ___"));
alert(_0009("___ ___"));
alert(_0009("_______"));
</script>
{
return /(____+?)|(_+?___)|(((?<=[^_])|^)_{1,2}((?=[^_]+?)|$))/.test(str);
}alert(_0009("___ ___ ___"));
alert(_0009("___ ___ ___ ___"));
alert(_0009("___ __ ___"));
alert(_0009("___ ___"));
alert(_0009("_______"));
格式我不知道对不对,我不懂jsp。
※以下是引用17楼 wuyazhe(经常答错,欢迎指正。) 在2007-07-21 10:01:22 的发言:
──────────────────────────────────────────
function _0009(str)
{
return /(____+?)|(_+?___)|(((?<=[^_])|^)_{1,2}((?=[^_]+?)|$))/.test(str);
}
alert(_0009("___ ___ ___"));
alert(_0009("___ ___ ___ ___"));
alert(_0009("___ __ ___"));
alert(_0009("___ ___"));
alert(_0009("_______"));
格式我不知道对不对,我不懂jsp。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
这是JAVASCRIPT你写的正则逻辑好乱. ____+?和_+?___在逻辑上讲得通吗?另外JS不支持负向声明,?<=是不能用的.其实这个正则并不难,只是楼主没有表达清楚.我也不知道他真正想要的是什么!
不知道楼主的意思是不是单个不要超过三个,也不要少于三个,如果是那样的话,可以使用
<script language=javascript>
function _0009(str)
{
return (str.replace(/___/g,"").indexOf("_")==-1)
}alert(_0009("___ ___ ___"));
alert(_0009("___ ___ ___ ___"));
alert(_0009("___ __ ___"));
alert(_0009("___ ___"));
alert(_0009("_______"));
</script>
谢啦
function _0009(str)
{
return /(____+?)|(_+?___)|(([^_]|^)_{1,2}(([^_]+?)|$))/.test(str);
}alert(_0009("___ ___ ___"));
alert(_0009("___ ___ ___ ___"));
alert(_0009("___ __ ___"));
alert(_0009("___ ___"));
alert(_0009("_______"));
</script>
function _0009(str)
{
return /_{4,}|(([^_]|^)_{1,2}((?=[^_]+?)|$))/.test(str);
}alert(_0009("___ ___ ___"));
alert(_0009("___ ___ ___ ___"));
alert(_0009("___ __ ___"));
alert(_0009("___ ___"));
alert(_0009("_______"));
</script>这个测试过可以。不过那个不用正则方式也很好。