で国際名前の文字を許可します。は、私はいつもこれが私の問題に取り組むにひどいなアプローチのように見えるかもしれませんので、もし私を許して正規表現で苦労してきた正規表現
ユーザーは、大文字と小文字のためのホワイトスペースをチェックし、私は基本的に使用して始まった姓と名を入力している、アポストロフィとハイフン
if (!preg_match("/^[a-zA-Z\s'-]+$/", $name)) { // Error }
は今、私は、これは以来、最高ではありません実現人々はマーティン・ルーサー・キング・ジュニア博士(カンマとフルストップで)のようなものを持つことができます。だから、私はこれをこれに変更することで、それをやや有効にすると考えています。
if (!preg_match("/^[a-zA-Z\s,.'-]+$/", $name)) { // Error }
私はその後、私はウムラウトが含まれているだけでなく、ロシア語/韓国語/中国語/日本語の文字があまりにも言う名のことを考えていましたシャン、として彼女の名前を書き、私のFacebook上で私が知っている女の子の名前を見ました。そこで私は検索を始め、そこにこれらの文字のそれぞれを書くことによって方法を見つけました。
if (!preg_match("/^[a-zA-Z\sàáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð ,.'-]+$/u", $first_name)) { // Error }
あなたが想像できるように、それは非常に長い息切れだと私はこれを達成することができますはるかに単純な正規表現があるかなり確信しています。私が言ったように、私は周りを検索しましたが、これは私ができる最高です。
ので、大文字と小文字の文字、カンマ、ピリオド、アポストロフィ、ハイフン、ウムラウト、ラテン語、ロシア語/日本語など
最初に正規化しないとうまくいかない場合、それはうまくいかないでしょう。 – tchrist