我有一个网站,用户可以使用自己的自定义网址创建自己的个人资料页面。例如:http://www.website.com/MyProfilePage
或http://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
等。等
谢谢!
答案 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-]+$