2012-04-19 10 views
0

ユーザーは独自のカスタムURLを使用して独自のプロファイルページを作成できます。例えば: - (ハイフン)http://www.website.com/MyProfilePageまたはhttp://www.website.com/JohnnysPageRegex:カスタムURLのテスト

私は-Z 0-9を可能にする正規表現を必要としています。スペースやその他の文字は使用できません。など

ので、例えばそれだろう...これらの文字列ON

FAIL

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

など、これらの文字列ON

PASS

MyProfilePage 
KatiesPage 
MyProfilePage 
Davids-Page 
TheBestPage-2001 

et cなど

ありがとうございます!

答えて

1

私は単純に言う:

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

あなたはハイフンをエスケープする必要が '\ - ' – WolvDev

+3

@AndreasWinter :いいえ、それは必須ではありませんそれが始まりでも終わりにもあるときは、クラスになります。 – Toto

+1

@ M42の場合、パターンを拡張する際に忘れると予期しないエラーが発生する可能性があります。 – Alp

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

これもうまくいきます。ありがとう! –

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

+0

偉大な答え、ありがとう! –