HTML5中自定义数据属性名称中的有效字符

Dan*_*Dan 11 html javascript html5

我正在data-*我的网站中创建一些自定义属性,我很难阅读Spec Here and Here.

我可以说[a-z], [0-9] and '-'是允许的,但我不能从中解读更多.

我也认为"A-Z"在处理之前会自动转换为较低的(规范链接1),但它提到不使用它们.(规格链接2)

问题:

1)自定义data-*属性中允许和不允许使用哪些字符?

2)特殊字符是否'_', '!', '$', etc.允许?

谢谢.

Alo*_*hci 12

在规范链接2中,允许的字符来自XML中的名称生成,假定该属性已经开始 data-

":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] |
[#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | 
[#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF] | "-" |
"." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]
Run Code Online (Sandbox Code Playgroud)

_ 明确列为OK

!(#x21)和$(#x24)是不允许的

规范链接1无关紧要.这是为了用户代理,描述如何处理字符,无论它们是否有效.

  • 12 月 32 日至 12 月 126 日期间 [`this`](http://www.asciitable.com/index/asciifull.gif) 图像中不属于“[az][AZ] 或 [0-9]”的任何内容。我的同事将其称为“通用”特殊字符集。 (2认同)