2
當聲明一個屬性值(如id="attributeValue"
)時,是否有特定的規則來規定哪些字符是不允許的?HTML屬性值的規則是什麼?
我一直認爲第一個字母必須是一個字母(a-z或A-Z),後面跟着幾乎任何字符。然後我意識到這是聲明PHP變量的規則
那麼聲明屬性的規則是什麼,它們對於所有屬性是相同的,例如id
,name
,href
,type
等
當聲明一個屬性值(如id="attributeValue"
)時,是否有特定的規則來規定哪些字符是不允許的?HTML屬性值的規則是什麼?
我一直認爲第一個字母必須是一個字母(a-z或A-Z),後面跟着幾乎任何字符。然後我意識到這是聲明PHP變量的規則
那麼聲明屬性的規則是什麼,它們對於所有屬性是相同的,例如id
,name
,href
,type
等
ID和名稱標記必須以字母開頭([A-ZA-Z]),並且可以是 後跟任意數量的字母,數字([0-9] ),連字符(「 - 」), 下劃線(「_」),冒號(「:」)和句點(「。」)。
http://www.w3.org/TR/html401/types.html#h-6.2
所以,你的假設是相當不錯的,但「後面幾乎任何字符」是有點樂觀。
它很大程度上取決於'doctype' ...任何特定的一個? –
查看HTML標準的[Attributes index](http://www.whatwg.org/specs/web-apps/current-work/multipage/section-index.html#attributes-1)。期望值在「值」列中定義。 –
或者查看本節(HTML 4.01規範):http://www.w3.org/TR/html401/types.html#type-cdata –