[英]Issue with regex for website validation in JavaScript
我目前正在使用以下正则表达式来验证网站:
^((https?):\/\/)?([w|W]{3}\.)[a-zA-Z0-9\-\.]{3,}\.[a-zA-Z]{2,}(\.[a-zA-Z]{2,})?$
目前适用于:
http://www.google.com
www.google.com
但不是
google.com
http://google.com
请帮忙。
您需要使thr组匹配www.
可选的
^((https?):\/\/)?([wW]{3}\.)?[a-zA-Z0-9\-.]{3,}\.[a-zA-Z]{2,}(\.[a-zA-Z]{2,})?$
^
观看演示
我只是指出如何调整您的正则表达式以匹配您指定的字符串。 实际上,该主题已在SO上进行了全面介绍。 例如,请查看“ 尝试使用JavaScript验证URL”一文,以了解如何在JavaScript中验证URL。
此外,在Web上进行的一些搜索可以显示其他解决方案,例如在使用Javascript中的正则表达式的URL验证中 :
^(?:(?:https?|ftp):\/\/)?(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]+-?)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]+-?)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.