7

登録フォームで、ユーザーにTwitter名(@paulなど)を入力するように依頼します。

誰もがそれに許可されている文字を教えてもらえますか?

例:az、AZ、アンダースコア、0〜9

他に何か?

4

5 に答える 5

14

文字、数字、アンダースコアのみで、最大15文字だと思います。

クイック検索により、同じトピックをカバーするこの投稿(Twitter以外)が明らかになりました。

http://kagan.mactane.org/blog/2009/09/22/what-c​​haracters-are-allowed-in-twitter-usernames/

上記の投稿には、検証に役立つ正規表現の例も含まれています。

Full regex – /^[a-zA-Z0-9_]{1,15}$/
Perl-compatible regex – /^\w{1,15}$/
于 2012-07-06T11:12:14.517 に答える
4

これが最後のJavaScript機能です。

function validTwitteUser(sn) {
    return /^[a-zA-Z0-9_]{1,15}$/.test(sn);
}
于 2013-08-22T06:31:36.503 に答える
3

公式ガイドライン/ルールについては、Twitterのこのページを確認してください

http://support.twitter.com/articles/101299-why-can-ti-register-certain-usernames#

于 2012-07-06T11:11:58.853 に答える
1

JavaScript / TypeScriptの場合:

まず、

npm i twitter-text
# or
yarn add twitter-text

それで、

import { isValidUsername } from 'twitter-text'

console.log(isValidUsername('@helloworld')) // true

他にも実装(Java、Ruby、ObjC)があります。https://github.com/twitter/twitter-textをご覧ください。


注:バンドルサイズが大きすぎるため、文字列を検証するだけでは不十分です。

于 2020-05-23T02:52:32.153 に答える
1

ここでの正規表現はすべて正しいように見えますが、検証に合格できるのは4文字未満です。ツイッターによると:

  • ユーザー名は15文字を超えることはできません。名前は長くすることも(50文字)、短くすることもできますが、ユーザー名はわかりやすくするために短くしています。
  • ユーザー名には、上記のように、アンダースコアを除いて英数字(文字AZ、数字0〜9)のみを含めることができます。目的のユーザー名に記号、ダッシュ、またはスペースが含まれていないことを確認してください。

したがって、正しい正規表現は次のとおりです。

/^[a-zA-Z0-9_]{4,15}$/

もし1つを選ぶとしたら、TwitterやAdminという単語を使用することもできません。私の目的では、上記で十分です。

于 2021-10-18T16:31:24.203 に答える