HTML 表单自动填充:是不是存在与 name 属性匹配的正则表达式,还是应该是文字?

Posted

技术标签:

【中文标题】HTML 表单自动填充:是不是存在与 name 属性匹配的正则表达式,还是应该是文字?【英文标题】:HTML form autofill: is there a regex match against name attribute or should it be literal?HTML 表单自动填充:是否存在与 name 属性匹配的正则表达式,还是应该是文字? 【发布时间】:2015-09-02 09:15:08 【问题描述】:

我无法从规范中找到 name 属性的值应该是文字还是由正则表达式或类似的评估?

例如必须是 name="fname" 还是 name="userdetails[fname]"

html5 相关的自动完成属性也是如此?

浏览器之间有区别吗?

【问题讨论】:

【参考方案1】:

你可以在那里使用任何文本。

您提到的数组 (userdetails[fname]) - 从 html 的角度来看,它是通常的字符串,但 php 将此字符串解释为数组。

【讨论】:

确实如此,但我担心它会如何影响自动填充功能?还是您的意思是任何字符串都将与自动填充兼容,只要它包含指定的自动填充标识符,如 fname、lname、电子邮件等? @user1271930 我认为不会出现这些问题。方括号是很正常的字符。 我不认为它与字符类型有关,而是与内容本身以及它的解释方式有关。 Chrome 正则表达式:名字:“first.*name|initials|fname|first$” 姓氏:“last.*name|lname|surname|last$|secondname|family.*name”电子邮件:“e.?mail” 地址(第 1 行):“address.*line|address1|addr1|street” 邮政编码:“zip|postal|post.*code|pcode|^1z$”【参考方案2】:

似乎这些字段上没有任何智能/正则表达式。

fname、lname 不起作用,只有 first_name 和 last_name 在 Chrome 和 Firefox 上起作用。

所以最好是有字面命名。一些消息来源表明可能存在某种正则表达式评估,但至少我找不到任何可靠的东西。但至少我找到了这个https://html.spec.whatwg.org/multipage/forms.html#autofilling-form-controls:-the-autocomplete-attribute

【讨论】:

以上是关于HTML 表单自动填充:是不是存在与 name 属性匹配的正则表达式,还是应该是文字?的主要内容,如果未能解决你的问题,请参考以下文章

在 html 表单中禁用自动填充

阻止表单自动填充

禁止表单自动填充

Chrome表单文本框自动填充黄色背景色样式

在查询字符串中传递值以自动填充表单上的字段

禁止 input 自动填充