请问js正则表达式,不能以/开始和结尾怎么写
2条回答 默认 最新
- cyrilluce 2011-12-19 20:39关注
[code="js"]
var re = /^(^\/?)?$/;var cases = [
["", true],
[" ", true],
["a", true],
["abc", true],
["a/c", true],
[" /b/ ", true],
["/", false],
["/bc", false],
["ab/", false],
["/b/", false],
["//", false]
];var i, err=false;
for(i=0; i<cases.length; i++){
if(re.test(cases[i][0]) !== cases[i][1]){
err=true;
alert("fail: "+cases[i].join(","));
}
}
if(!err){
alert("pass");
}
[/code]不过相对来说,我更喜欢用两个正则来干这件事,简单明了:
[code="js"]
var test = function(str){
if(/^\//.test(str) || /\/$/.test(str)){
return false;
}
return true;
};var cases = [
["", true],
[" ", true],
["a", true],
["abc", true],
["a/c", true],
[" /b/ ", true],
["/", false],
["/bc", false],
["ab/", false],
["/b/", false],
["//", false]
];var i, err=false;
for(i=0; i<cases.length; i++){
if(test(cases[i][0]) !== cases[i][1]){
err=true;
alert("fail: "+cases[i].join(","));
}
}
if(!err){
alert("pass");
}
[/code]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器