js中用正则表达式判断字符串的格式
求助,求一个用在js里的正则表达式用来判断str的内容:varstr="要检测的字符串";如果str的格式符合以下四种情况里的一种就直接跳过,否则就对str做其他处理。1...
求助,求一个用在js里的正则表达式用来判断str的内容:
var str = "要检测的字符串";
如果str的格式符合以下四种情况里的一种就直接跳过,否则就对str做其他处理。
1.超链接格式:a(地址)[文本] 如:a(xxx)[xxx]
2.图片格式:img[地址] 如:img[xxxx]
3.文件格式:file(地址)[文本] 如:file(xxxx)[xxxx]
4.音频格式:audio[地址] 如:audio[xxxx]
5.视频格式:video[地址] 如:video[xxxx] 展开
var str = "要检测的字符串";
如果str的格式符合以下四种情况里的一种就直接跳过,否则就对str做其他处理。
1.超链接格式:a(地址)[文本] 如:a(xxx)[xxx]
2.图片格式:img[地址] 如:img[xxxx]
3.文件格式:file(地址)[文本] 如:file(xxxx)[xxxx]
4.音频格式:audio[地址] 如:audio[xxxx]
5.视频格式:video[地址] 如:video[xxxx] 展开
1个回答
展开全部
let regex = /^((a|file)\(.+\)|(img|aduio|video))\[.+]$/i;
test('should test ok',()=>{
let regex = /^((a|file)\(.+\)|(img|aduio|video))\[.+]$/i;
expect(regex.test('file(a)[b]')).toBe(true);
expect(regex.test('file[b]')).toBe(false);
expect(regex.test('file(b)')).toBe(false);
expect(regex.test('a(a)[b]')).toBe(true);
expect(regex.test('img[c]')).toBe(true);
expect(regex.test('aduio[e]')).toBe(true);
expect(regex.test('video[e]')).toBe(true);
expect(regex.test('video(d)[e]')).toBe(false);
expect(regex.test('aduio(d)[e]')).toBe(false);
expect(regex.test('img(d)[e]')).toBe(false);
})
追问
请问我在代码里面判断是写成下面这个样吗?
var str = "要检测的字符串";
var regex = /^((a|file)\(.+\)|(img|aduio|video))\[.+\]$/i;
if(regex.test(str)){
//符合格式跳过
}else{
//不符合格式,直接其他操作
}
追答
是呀,注意最后的\]已经更改,因为]不需要转义。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询