我正在尝试使用正则表达式来验证网址。
var url = "https://www,google.com";
var urlRegex = /(https|http)?:\/\/(?:\w[\-\w.]+)(?:\/[\-\w+&@#\/%=~_|!:,.;]*)?(?:\?[\-A-Z0-9+&@#\/%=~_|!:,.;]*)?/i;
var result = urlRegex.test(url);
所以我得到的“结果”为真,但我应该得到假,因为“url”包含逗号。 请帮忙。
最佳答案
添加 anchor (^
用于字符串的开头,$
用于字符串的结尾):
^(https|http)?:\/\/(?:\w[\-\w.]+)(?:\/[\-\w+&@#\/%=~_|!:,.;]*)?(?:\?[\-A-Z0-9+&@#\/%=~_|!:,.;]*)?$
^ ^
参见 demo
关于javascript - 正则表达式错误匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30441151/