I'm going to begin posting what I've found so far.
Set Character Limit >4 characters
Must contain at least one alpha [a-z]
Optional Special Characters: ._-
- Special characters should not count toward distinct tokens (i.e.
user.name
= username
)
- Special characters should also not be used simultaneously (ex.
user..name
)
- Special characters should not start or end a token (ex.
-user-name-
, .username-
)
- UPDATE: Facebook and Twitter disallow the dash as well. Consider excluding.
- Gmail only allows dots.
Avoid character confusion by preventing similar looking characters l,1
, o0
- For example, if
colbert
is registered, prevent co1bert
or c01bert
from also being registered
Case-insensitive
Reserved Word List
about, aboutus, account, accounts, add, admin, administer, administrator, admins, ajax, anon, anonymous, apache, api, app, apps, archive, archives, article, articles, auth, authenticate, authentication, author, backup, better, blog, blogger, cache, careers, cart, changelog, checkout, client, clients, codereview, compare, config, configuration, connect, contact, contactus, contributor, cpanel, create, css, daemon, data, database, deal, deals, delete, director, direct_messages, docs, documentation, download, downloads, edit, editor, email, emailus, employment, enterprise, explore, facebook, faq, faqs, favorites, feed, feeds, fleet, fleets, follow, followers, following, font, fonts, forum, forums, friend, friends, friending, ftpuser, games, gist, group, groups, guest, help, home, host, hosting, hostmaster, http, httpd, idea, ideas, image, images, include, includes, index, indexes, info, invitation, invitations, invite, is, it, job, jobs, json, lib, library, list, lists, login, logout, logs, mail, map, maps, master, mine, mis, misc, miscellaneous, moderate, moderator, module, modules, mysql, news, nobody, node, nodes, oauth, oauth_clients, offers, office, openid, operate, operator, oracle, order, orders, organizations, owner, password, passwords, plans, poll, polls, popular, post, postgres, postmaster, president, privacy, profile, profiles, projects, public, put, pwnd, pwned, pwnage, question, questions, qwerty, rdf, recruit, recruiter, recruiters, recruitment, register, registrar, registration, remove, replies, root, rss, sales, save, save, script, scripts, search, security, server, service, sessions, settings, shell, shop, signup, signout, sitemap, spam, ssl, ssladmin, ssladministrator, sslwebmaster, stat, stats, statistics, status, stories, student, styleguide, subscribe, support, supporter, survey, surveys, sysadmin, template, templates, terms, test, tester, testing, tests, testuser, theme, themes, tour, tomcat, translations, trends, tutorial, tutorials, twitter, twittr, unfollow, unsubscribe, url, update, upload, uploads, user, users, video, videos, weather, webadmin, webmaster, widget, widgets, wiki, www, wwww, xfn, xmpp, yml, yaml