繁体   English   中英

使用JavaScript进行网站验证的正则表达式问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM