js 判断url格式
JS 判断 格式 url
2023-09-27 14:21:17 时间
发现很多都是引用这个判断:
function IsURL (str_url) { var strRegex = '^((https|http|ftp|rtsp|mms)?://)' + '?(([0-9a-z_!~*\'().&=+$%-]+: )?[0-9a-z_!~*\'().&=+$%-]+@)?' //ftp的user@ + '(([0-9]{1,3}.){3}[0-9]{1,3}' // IP形式的URL- 199.194.52.184 + '|' // 允许IP和DOMAIN(域名) + '([0-9a-z_!~*\'()-]+.)*' // 域名- www. + '([0-9a-z][0-9a-z-]{0,61})?[0-9a-z].' // 二级域名 + '[a-z]{2,6})' // first level domain- .com or .museum + '(:[0-9]{1,4})?' // 端口- :80 + '((/?)|' // a slash isn't required if there is no file name + '(/[0-9a-z_!~*\'().;?:@&=+$,%#-]+)+/?)$'; var re=new RegExp(strRegex); return re.test(str_url); }
不过今天就遇到一个问题,验证的url为: http://cab100002.efileyun.com/downtemp/cab100002/6607703A-6FC4-11E9-BDB8-FE554B8C0275_2.pdf
验证结果为:false
发现后面的字符含有大小字母,因此改造以上验证规则增加大小字母的支持:
function IsURL (str_url) { var strRegex = '^((https|http|ftp|rtsp|mms)?://)' + '?(([0-9a-z_!~*\'().&=+$%-]+: )?[0-9a-z_!~*\'().&=+$%-]+@)?' //ftp的user@ + '(([0-9]{1,3}.){3}[0-9]{1,3}' // IP形式的URL- 199.194.52.184 + '|' // 允许IP和DOMAIN(域名) + '([0-9a-z_!~*\'()-]+.)*' // 域名- www. + '([0-9a-z][0-9a-z-]{0,61})?[0-9a-z].' // 二级域名 + '[a-z]{2,6})' // first level domain- .com or .museum + '(:[0-9]{1,4})?' // 端口- :80 + '((/?)|' // a slash isn't required if there is no file name + '(/[0-9a-zA-Z_!~*\'().;?:@&=+$,%#-]+)+/?)$'; var re=new RegExp(strRegex); return re.test(str_url); }
————————————————
版权声明:本文为CSDN博主「hbh112233abc」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hbh112233abc/article/details/90665367
相关文章
- js判断是否是移动设备,并跳转
- js遍历PHP的json数据
- js或Jquery中判断字符串中是否有换行符或回车符/n
- js 树结构数据遍历条件判断
- hello React.js
- js 温故而知新 用typeof 来判断一个未定义的变量
- js 判断是否为数组
- js判断设备,跳转app应用、android市场或者AppStore
- js判断为空Null与字符串为空简写方法
- WK 与 JS 的那些事
- JS-004-判断元素显示状态
- js判断两个区间是否存在交集
- js正则表达式判断一个字符串是否是正确的有数字和小数点组成的金钱形式和 判读数值类型的正则表达式
- js:判断对象是否为空
- [记录] js判断数组key是否存在
- js 判断js函数、变量是否存在
- js switch case 判断的是绝对相对===,值和类型都要相等
- Node.js基础知识梳理
- RookeyFrame 加载 自定义JS
- Three.js Example 注解 —— webgl_geometry_cube.html