I need a pattern for a HTML5 form.
You are pretty close actually:
[a-zA-Z0-9-]+ ^
You just needed this + plus quantifier, which tells the input field to accept one or more the characters you have listed in the character class [].
+
[]