正则表达式:测试自定义URL

时间:2012-04-19 12:08:02

标签: php regex url-rewriting preg-match

我有一个网站,用户可以使用自己的自定义网址创建自己的个人资料页面。例如:http://www.website.com/MyProfilePagehttp://www.website.com/JohnnysPage

我需要一个只允许 a-Z 0-9 - (连字符)的正则表达式。没有空格或其他字符。

所以,例如它会...

对这些字符串失败

http://www.website.com/MyProfilePage 
My Profile Page 
My.Profile.Page 
My_Profile_Page 
My/Profile/Page 
Katie'sPage

等。等

通过这些条款

MyProfilePage
KatiesPage
MyProfilePage
Davids-Page
TheBestPage-2001

等。等

谢谢!

3 个答案:

答案 0 :(得分:2)

preg_match('/^[a-zA-Z0-9\-]+$/',$string)

答案 1 :(得分:2)

preg_match()救援:

$pattern = '/^[a-zA-Z0-9\-]+$/';
$match = preg_match($pattern, "My.Profile.Page"); // returns false
$match = preg_match($pattern, "MyProfilePage"); // returns true

<强> Working demo

答案 2 :(得分:1)

我会简单地说:

^[a-zA-Z0-9-]+$