我有正则表达式/[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\\=]*)/g
来检查有效的网址。但它接受:
https://www.google.com
google.com
https://google.com
dev.google.com
对我来说很好,但我希望当用户输入这些值时,过滤后的值将为google.com
,我必须通过AJAX
但UI
部分的输入相同(意思是浏览器)。我知道这是可能的,但我不能。
任何参考都会有所帮助 提前致谢
答案 0 :(得分:1)
尝试
var regExp = /\w+\.\w+(?=$|\/)/;
var matches1 = regExp.exec("https://www.google.com/images");
var matches2 = regExp.exec("google.com");
var matches3 = regExp.exec("https://google.com");
var matches4 = regExp.exec("dev.google.com");
//matches1[0] contains the value between the parentheses
console.log(matches1[0]);
console.log(matches2[0]);
console.log(matches3[0]);
console.log(matches4[0]);

以上所有内容都会为您提供google.com'
答案 1 :(得分:0)
尝试以下常规exp。 :
var a = /(\w*\.\w*)$|(\w*\.\w*)(\/)/;
说明:
OR的第一部分检查x.y的最后一次出现 OR的第二部分在" /"开始之前检查x.y;关键字
答案 2 :(得分:0)