比如
http://www.segmentfault.com,http://segmentfault.com // true
http://www.segmentfault.com/ // true
https://segmentfault.com/ //true
http://segmentfault //false
http://www.segmentfault.com,http://segment //false
比如
http://www.segmentfault.com,http://segmentfault.com // true
http://www.segmentfault.com/ // true
https://segmentfault.com/ //true
http://segmentfault //false
http://www.segmentfault.com,http://segment //false
一个直接一次验证的正则,我弄不来,我的思路是将字符串以逗号为分隔符转为数组,数组挨个正则验证
const str = 'http://www.segmentfault.com,http://segmentfault.com'
const reg = /^https?:\/\/(([a-zA-Z0-9_-])+(\.)?)*(:\d+)?(\/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*$/i
const arr = str.split(',')
let flag = true // 默认可验证通过
for (let i = 0; i < arr.length; i++) {
if (!reg.test(arr[i])) { // 出现验证不通过情况
flag = false // 改为验证不通过
break // 终止循环
}
}
if (!flag) {
console.log('验证失败')
} else {
console.log('验证成功')
}