Regex模式不能用于输入模式匹配

Regex pattern not working for input pattern match

本文关键字:输入 模式匹配 用于 不能 模式 Regex      更新时间:2023-09-26
<input type="text" id="url" name="url"  pattern="/ ^(http:'/'/www'.|https:'/'/www'.|http:'/'/|https:'/'/)(amazon)|(flipkart)+(['-'.]{1}[a-z0-9]+)*'.[a-z]{2,5}(:[0-9]{1,5})?('/.*)?$ /" required />

显示的是我的输入。但我无法匹配任何输入。它应该正确匹配任何以http://flipkart.com或http://amazon.com开头的网站。我检查了一下rubular。这个表达是正确的。我哪里错了。请帮忙。谢谢你/

您的问题来自:(amazon)|(flipkart)+,您需要将这两个字符串分组并删除多余的+

(amazon|flipkart)

您也可以将正则表达式简化为:

(https?://(?:www'.)?)(amazon|flipkart)([-.][a-z0-9]+)*'.[a-z]{2,}(:[0-9]{1,5})?(/.*)?

你能试试下面的方法吗,它对我有效

<input type="text" id="url" name="url"  pattern="(https:[/][/]|http:[/][/]|www.)[amazon|flipkart]+'.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9'-'._'?',''/'''+&amp;%'$#'=~])*$" required />