小程序正则表达式判断URL在真机调试和体验版表现不一致
- 当前 Bug 的表现(可附上截图)
编写了一段正则表达式判断URL的代码,实测在开发者工具的真机调试中判断URL返回为true,在真机体验版上返回为false。
- 预期表现
两平台返回值统一
- 复现路径
- 提供一个最简复现 Demo
isURl(str_url) { var strRegex = '^((https|http|ftp|rtsp|mms)?://)' + '?(([0-9a-z_!~*\'().&=+$%-]+: )?[0-9a-z_!~*\'().&=+$%-]+@)' + '?(([0-9a-z_!~*\'()-]+.)*([0-9a-z][0-9a-z-]{0,61})?[0-9a-z].[a-z]{2,6})' + '(:[0-9]{1,4})' + '?((/?)|(/[0-9a-z_!~*\'().;?:@&=+$,%#-]+)+/?)$' ; var re = new RegExp(strRegex); //re.test() console.log(re.test(str_url.trim()),str_url.trim()) if (re.test(str_url.trim())) { return ( true ); } else { return ( false ); } } |
测试URL为:
let a = 'https://weibo.com' ; let b = '/p/10080817c0fee819b9c79696a382f9634dbd87' ; let url = a+b |
真机体验版返回为false,真机调试返回true。