FreeChilly 2022-05-05 20:19 采纳率: 50%
浏览 73
已结题

js正则如何校验多个网址并以逗号分隔

  • 写回答

1条回答 默认 最新

  • Heerey525 新星创作者: 前端开发技术领域 2022-05-06 14:47
    关注

    一个直接一次验证的正则,我弄不来,我的思路是将字符串以逗号为分隔符转为数组,数组挨个正则验证

    
    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('验证成功')
                }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月14日
  • 已采纳回答 5月6日
  • 创建了问题 5月5日