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]
展开
 我来答
zhou2003737
2019-04-30 · TA获得超过1427个赞
知道小有建树答主
回答量:1082
采纳率:77%
帮助的人:402万
展开全部
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{
//不符合格式,直接其他操作
}
追答
是呀,注意最后的\]已经更改,因为]不需要转义。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式