Как вы можете видеть здесь , атрибут value
тега input
можно описать как тип text
, что в значительной степени означает «без ограничений», тогда как значение id
-атрибут ограничен :
Правила именования атрибута id:
- Должен начинаться с буквы A-Z или a-z
- Может сопровождаться: буквами (A-Za-z), цифрами (0-9), дефисами ("-") и символами подчеркивания ("_")
- В HTML все значения чувствительны к регистру
Более того, я думаю, что не имеет смысла ограничивать атрибут value
в любом виде, потому что он представляет пользовательский ввод.
// EDIT:
Чтобы не было единственной ссылки на w3schools (позор мне, но я не удаляю ее, чтобы сохранить ее в качестве памятника для моего опрометчивого поступка), вот ссылка на w3.org о вводе -tag и тип данных его значения-атрибута . Но сейчас у меня проблемы, потому что обе ссылки рассказывают разные истории. Согласно w3schools , тип данных value
-атрибута Text
. Но в соответствии с w3.org (которому я уверен больше доверяю) тип данных - CDATA
, что сопровождается несколькими общими ограничениями, например ::
Пользовательские агенты могут игнорировать начальные и конечные пробелы в CDATA
значения атрибута (например, «myval» может интерпретироваться как «myval»).
Авторы не должны объявлять значения атрибутов с начальным или конечным
пробел.
(http://www.w3.org/TR/html4/types.html#type-cdata)
И есть также определенное ограничение для id
-атрибута:
Жетоны ID и NAME должны начинаться с буквы ([A-Za-z]) и могут быть
за которыми следует любое количество букв, цифр ([0-9]), дефисов ("-"),
подчеркивания ("_"), двоеточия (":") и точки (".").