gpt4 book ai didi

javascript - RegEx 在测试器中工作,而不是在现场使用 JavaScript

转载 作者:行者123 更新时间:2023-11-30 17:05:46 26 4
gpt4 key购买 nike

我正在尝试编写一个 RegEx,如果字符串以 /http: 开头并且只允许 字母数字字符 则返回 true 、破折号下划线。任何空格和任何其他特殊字符在测试时都应触发错误响应。

下面在 https://www.regex101.com/#javascript 测试时工作正常(除了它允许特殊字符,我还没有想出如何做到这一点) .不幸的是,当我在我的站点中实现它并使用 /products/homedecor/tablecloths 对其进行测试时,返回 false。我做错了什么,是否有更好的 regEx 可以实现我的目标?

^(\\/|(?:http:))\S+[a-zA-Z0-9-_]+$

最佳答案

将未转义的连字符保留在字符类的第一个或最后一个位置:

^(\/|(?:http:))[/.a-zA-Z0-9_-]+$

或者更简单:

^(\/|http:)[/\w.-]+$

因为 \w[a-zA-Z0-9_] 相同

要匹配 URL,您可能还需要匹配点和正斜杠。

关于javascript - RegEx 在测试器中工作,而不是在现场使用 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28073801/

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