表单字段名称是否存在限制和/或禁止字符


Are there limits and/or prohibited characters for form field names?

正如标题所说,形式字段名是否有限制和/或禁止字符?

  • 如果我使用sha512()散列作为字段名,这有缺点吗(它相当长(
  • 或者,使用-:x:©:y:作为字段名称时有什么缺点吗
  • 或者,我可以使用序列化数组作为字段名吗
  • 或者,如果字段包含空格字符,该怎么办
  • "/downloads/ready/games/"作为一个密钥怎么样

我敢打赌,这不是HTML特有的,而是PHP(脚本语言(特有的,无论在发布后,值都可以读取。从理论上讲,它通常也适用于数组键。

我还想了一件事,"可读"表单字段的使用变得如此流行/主流,因为表单主要用于在数据库中存储数据,其中字段名类似于数据库中的列。如果我错了,请纠正我。

那么,是的,我可以在这些表格中自由使用我想要的任何东西吗,否则我可能会出现错误/无法读取的数据?

IDNAME令牌必须以字母([A-Za-z])开头,并且可以后面跟任意数量的字母、数字([0-9])、连字符("-")、下划线("_")、冒号(":")和句点(".")

读取此

HTML5规范定义了<form>元素上name属性的允许值。

该值不得为空字符串,并且该值在其所在的forms集合中的form元素中必须是唯一的(如果有的话(。


当然,它还为表单控件上的name属性定义了允许的值(<input><textarea>和c.((增加了强调(。

4.10.19.1命名表单控件

name内容属性给出表单控件的名称,如下所示用于表单提交和CCD_ 19元素的CCD_。如果指定了属性,则其值不得为空字符串。

允许name的任何非空值,但名称"_charset_"answers"isindex"是特殊的:

isindex
如果将此值用作Text控件的名称,该控件是使用application/x-www-form-urlencoded机制,导致提交只包含此控件的值,而不包含名称。

_charset_
如果此值用作不具有value属性的隐藏控件的名称,则在提交由提交字符编码组成。