我有一个正则表达式,用于验证特定网址,但它并没有真正起作用。我想验证这样的网址-----> https:// example.co.nz/#![RANDOM_KEYS_HERE]。
我想只用https做。最重要的是,用户的输入需要匹配https:// example.co.nz/#!但在#!之后,用户可以放任何他喜欢的东西。
这是代码: 我知道代码是fked up xD我对lol
有基本的了解#^https://example+\.[co\.nz][a-z0-9-_.]+\.[a-z]{2,4}#i
如果有人能帮我做,那就太好了!谢谢!
答案 0 :(得分:1)
https://exampl
e
.
cnoz.
a-z0-9-_.
.
这与您正在寻找的完全不同。毕竟,我认为你不希望这一点通过:
https://exampleeeeeeeeeeee.complete.and.total.failure.-_-.lol
相反,试试这个:
(^https://example\.co\.nz/#!(.*))
这个正则表达式如下:
https://example.co.nz/#!
答案 1 :(得分:0)
if (preg_match('%^https://example\.co\.nz/#!(.+)$%i', $subject)) {
# Successful match
} else {
# Match attempt failed
}
或者你可以用你的[RANDOM_KEYS_HERE]部分
if (preg_match('%^https://example\.co\.nz/#!(.+)$%i', $subject, $regs)) {
$result = $regs[0];
} else {
$result = "";
}
答案 2 :(得分:0)
试试这个:
^https:\/\/example\.co\.nz\/\#\!(.*)$
最后的括号将进行子表达式匹配,以便您可以提取ID。
if (preg_match('/^https:\/\/example\.co\.nz\/\#\!(.*)$/', $searchString, $matches)) {
$id = $matches[1];
}
答案 3 :(得分:0)
你不需要正则表达式。你只需要找出字符串是否以某个子字符串开头。检查一下:
if(strpos($url, 'https://example.co.nz/#!')===0)
{
echo 'url is OK';
}
else
{
echo 'url is wrong';
}
http://www.php.net/manual/en/function.strpos.php
我希望这会有所帮助。