gpt4 book ai didi

javascript - JavaScript 中用于网站验证的正则表达式存在问题

转载 作者:行者123 更新时间:2023-12-02 16:01:02 25 4
gpt4 key购买 nike

我目前正在使用以下正则表达式来验证网站:

^((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

请帮忙。

最佳答案

您需要将匹配 www. 的组设置为可选

^((https?):\/\/)?([wW]{3}\.)?[a-zA-Z0-9\-.]{3,}\.[a-zA-Z]{2,}(\.[a-zA-Z]{2,})?$
^

参见demo

我只是指出如何调整您的正则表达式以匹配您指定的字符串。事实上,这个话题已经在SO上被彻底涵盖了。例如,请检查Trying to Validate URL Using JavaScript发帖了解如何在 JavaScript 中验证 URL。

此外,通过网络进行一些搜索可以显示一些其他解决方案,例如 URL Validation using Regular Expression in Javascript :

^(?:(?: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]*)?$

稍作调整,参见how it works here .

关于javascript - JavaScript 中用于网站验证的正则表达式存在问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31203614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com