Quais caracteres são permitidos no atributo Nome HTML dentro da tag de entrada?

Eu tenho um script PHP que irá gerar<input>dinamicamente, então eu queria saber se eu precisava filtrar algum caractere noname atributo.

Eu sei que o nome tem que começar com uma letra, mas Não conheço outras regras. Eu acho que colchetes devem ser permitidos, já que o PHP os usa para criar matrizes a partir dos dados do formulário. E os parênteses? Espaços?

questionAnswers(5)

yourAnswerToTheQuestion