js RTSP地址正则校验

先放一个主流RTSP地址格式汇总https://blog.csdn.net/qq_34654240/article/details/79924390

不逼一逼自己你永远不知道前端能拼个什么校验出来

我就是个正则渣,我能搞出来现在这个规则我已经很满意了泪目( Ĭ ^ Ĭ )只为做个记录看看以后有没有别的写法

先说需求,前端需要严格校验RTSP地址,上面主流RTSP我都试过了可以通过

rtsp://admin:[email protected]:554/h264/ch1/main/av_stream

rtsp://admin:[email protected]/h264/ch1/sub/av_stream

rtsp://192.168.200.202/axis-media/media.amp?videocodec=h264&resolution=1280x720

rtsp://admin:[email protected]

rtsp://192.168.0.100/live1.sdp

rtsp://192.168.0.100:554

..........

类似以下这种都判断为不正确的RTSP地址:

rtsp://admin:[email protected]:

rtsp://admin:[email protected]:aaa

rtsp://admin:[email protected]

放代码:

function isRTSP(str) {
        const reg= /^rtsp:\/\/([a-z]{0,10}:.{0,10}@)?(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
	const reg1= /^rtsp:\/\/([a-z]{0,10}:.{0,10}@)?(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5]):[0-9]{1,5}/;	
	const reg2= /^rtsp:\/\/([a-z]{0,10}:.{0,10}@)?(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\//;
	return (reg.test(str) || reg1.test(str) || reg2.test(str));
}

猜你喜欢

转载自blog.csdn.net/liona_koukou/article/details/103762500