Regular expression for usernames - it follows the same rules that GitHub uses.
npm install regex-username
var regex = require('regex-username');
regex().test('foo-bar'); // => true
regex().test('foobar'); // => true
regex().test('3foobar'); // => true
regex().test('3foo-bar'); // => true
regex().test('foo-bar-baz'); // => true
regex().test('f'); // => true
regex().test('foo-bar-'); // => false
regex().test('-foo-bar'); // => false
regex().test('foo--bar'); // => false
regex().test('~derp@darp---++asdf'); // => false
regex().test('[email protected]'); // => false
regex().test('foo_bar'); // => false
Which usernames to allow typically varies between applications. For prototypes however it's nice to have an off the shelf solution. This module is that solution. It follows the same rules GitHub uses:
Username may only contain alphanumeric characters or single hyphens, and cannot begin or end with a hyphen.