Php 关于正则表达式代码的帮助
我有这个正则表达式代码Php 关于正则表达式代码的帮助,php,regex,url,Php,Regex,Url,我有这个正则表达式代码 /^(https?:\/\/+[\w\-]+\.[\w\-]+)/i 这是可行的,但有一个问题 您需要在url中添加http://以进行验证,我正在制作的内容是,用户不希望将http://添加到他们想要的url中,只要有example.com,如果可能的话,我需要它在有http://或没有http://的情况下工作 我不知道如何制作我自己的正则表达式,我搜索过但找不到一个能满足我需要的正则表达式,除非我只是找不到合适的地方。(谷歌:P)/^((https?:\/\/+)
/^(https?:\/\/+[\w\-]+\.[\w\-]+)/i
这是可行的,但有一个问题
您需要在url中添加http://以进行验证,我正在制作的内容是,用户不希望将http://添加到他们想要的url中,只要有example.com,如果可能的话,我需要它在有http://或没有http://的情况下工作我不知道如何制作我自己的正则表达式,我搜索过但找不到一个能满足我需要的正则表达式,除非我只是找不到合适的地方。(谷歌:P)
/^((https?:\/\/+)?[\w-]+.\w-]+)/i
/^((https?:\/\/+)?[\w-]+.\w-]+/i
您可以将其设置为可选
/^((?:https?:\/\/+)?[\w\-]+\.[\w\-]+)/i
您不想要的零件周围的(?:)
是非捕获组,之后的?
使其成为可选组
我不确定第二个斜杠后面的+
有什么用,它至少表示前面的一个字符。这意味着它还允许http://////////
我希望您知道,这个正则表达式远远不能匹配有效的URL
例如,它将匹配以下内容
http://////////------------.-
或者至少
http://N.O
^ after this position you can write what you want and it will match valid.
您可以看到您的正则表达式匹配的内容
请参阅紫色编码器的答案,以获得可能更好的解决方案。您可以将其设置为可选
/^((?:https?:\/\/+)?[\w\-]+\.[\w\-]+)/i
您不想要的零件周围的(?:)
是非捕获组,之后的?
使其成为可选组
我不确定第二个斜杠后面的+
有什么用,它至少表示前面的一个字符。这意味着它还允许http://////////
我希望您知道,这个正则表达式远远不能匹配有效的URL
例如,它将匹配以下内容
http://////////------------.-
或者至少
http://N.O
^ after this position you can write what you want and it will match valid.
您可以看到您的正则表达式匹配的内容
请参阅紫色编码器的答案,以获得可能更好的解决方案。我使用的是:
//验证字符串是否至少包含一个点
var filterWebsite = /^([a-zA-Z0-9:_\.\-/])+\.([a-zA-Z0-9_\.\-/])+$/;
我用这个:
//验证字符串是否至少包含一个点
var filterWebsite = /^([a-zA-Z0-9:_\.\-/])+\.([a-zA-Z0-9_\.\-/])+$/;
不要为正则表达式操心。使用函数。不要麻烦使用正则表达式。使用函数。可能的重复