RegExp用于验证不与数组一起工作的网站URL

RegExp used to validate the website URL not working with arrays

本文关键字:工作 网站 URL 一起 数组 用于 验证 RegExp      更新时间:2023-09-26

我试了一下,它工作了:

var regexp = /^(https?|ftp):'/'/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)('.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+'.)*[a-zA-Z0-9-]+'.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*('/($|[a-zA-Z0-9.,?'''+&%$#=~_-]+))*$/;
        
if(self.shop_website().indexOf("http://") < 0 && self.shop_website() != ""){
    self.shop_website("http://" + self.shop_website());
}
if(regexp.test(self.shop_website()) || self.shop_website() == ""){
....
}

但是当我试图将它与数组一起使用时,它不起作用:

var domains =[".aero",".biz",".cat",".com",".coop",".edu",".gov",".info",".int",".jobs",".mil",".mobi",".museum"]
domains = domains.join('|');
domains = domains.replace(/'./g,'')
domains = domains + "|";
var regexp = new RegExp("/^(https?|ftp):'/'/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)('.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+'.)*[a-zA-Z0-9-]+'.("+domains+"[a-zA-Z]{2}))(:[0-9]+)*('/($|[a-zA-Z0-9.,?'''+&%$#=~_-]+))*$/");'

此代码用于验证网站URL,例如:www.google.com, google.com.uk

你应该使用:

var regexp = new RegExp("^(https?|ftp):'/'/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(''.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+''.)*[a-zA-Z0-9-]+''.("+domains+"[a-zA-Z]{2}))(:[0-9]+)*('/($|[a-zA-Z0-9.,?'''+&%$#=~_-]+))*$");
  • 使用RegExp时不应该包含/.../
  • 你需要双重逃离DOTa或任何地方你有一个'