请问js正则表达式,不能以/开始和结尾怎么写

请问js正则表达式,不能以/开始和结尾怎么写

2个回答

[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]

function matchDemo(){
var s;
var re = new RegExp("d(b+)(d)","ig");
var str = "cdbBdbsbdbdz";
var arr = re.exec(str);
s = "$1 contains: " + RegExp.$1 + "\n";
s += "$2 contains: " + RegExp.$2 + "\n";
s += "$3 contains: " + RegExp.$3;
return(s);
}

如果需要更详细的就找一个js的api看 RegExp

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐