これを行う実際の理由はわかりませんが、たとえばログイン名やユーザーのニックネームの事前チェックとして使用する場合は、文字を自分で入力し、全体を使用しないことをお勧めします次の文字では光学的な違いが見つからない可能性があるため、Unicodeで見つかる「アルファ」文字:
А ≠ A ≠ Α # cyrillic, latin, greek
このような場合、アカウントの偽造などを最小限に抑えたい場合は、許可される文字を手動で指定することをお勧めします。
添加
さて、それがユニークではないと思われる分野の場合、私はギリシャ語も許可します。ユーザーに名前をラテン語バージョンに変更するように強制すると、気分が悪くなります。
しかし、ニックネームのようなユニークなフィールドの場合は、サイトの他の訪問者にヒントを与える必要があります。それは、実際には彼らが考えているニックネームです。人々がすでに私と私を交換することでアカウントを偽造するのは十分に悪いことです。もちろん、それはユーザーによって異なります。ただし、確かに、基本的なラテン語と発音区別符号のみを許可する方がよいと思います。(多分このリストを見てください:Latin-duced_alphabet)
テストされていない提案として('-'、'_'、および''を使用):
/^[a-zA-Z\-_ ’'‘ÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿʼNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ]$/.test(myString)
別の編集:
オニールやオライリーのような名前の人のためにアポストロフィを追加しました。(そして、カーリーアポストロフィを正しく入力できない人のためのストレートアポストロフィとリバースアポストロフィ。)