表单自动填充启发式算法¶
表单自动填充启发式算法模块用于根据autocomplete 属性、正则表达式以及每个解析器中的自定义逻辑来检测字段类型。
调试¶
首选项 extensions.formautofill.heuristics.enabled
默认值为“true”。将其设置为“false”可以帮助验证 autocomplete 属性的结果。
依赖 API¶
element.getAutocompleteInfo()
提供了 autocomplete
属性的解析结果,其中包括在自动填充规范中定义的字段名称和部分信息。
正则表达式¶
本节介绍在解析字段期间如何应用正则表达式。所有正则表达式都位于 HeuristicsRegexp.sys.mjs 中。
解析器实现¶
解析器用于根据字段的附近上下文更准确地检测字段类型。每个解析器都使用 FieldScanner
遍历感兴趣的字段,并结合正则表达式的结果,在匹配语法时调整每个字段的类型。
_parsePhoneFields
相关类型:
tel
、tel-*
_parseStreetAddressFields
相关类型:
street-address`, `address-line[1-3]
_parseAddressFields
相关类型:
address-level[1-2]
_parseCreditCardExpiryFields
相关类型:
cc-exp
、cc-exp-month
、cc-exp-year
_parseCreditCardNameFields
相关类型:
cc-name
、given-name
、additional-name
、family-name
_parseCreditCardNumberFields
相关类型:
cc-number