실제로 HTML과 XHTML에는 차이가 있습니다. XHTML은 XML이므로 XML ID에 대한 규칙이 적용됩니다.
ID 유형의 값은 이름 생성과 일치해야합니다.
NameStartChar ::= ":" | [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] NameChar ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]
출처:XML (Extensible Markup Language) 1.0 (5 판) 2.3
HTML의 경우 다음이 적용됩니다.
아이디 = 이름 [CS]
이 속성은 요소에 이름을 지정합니다. 이 이름은 문서에서 고유해야합니다.ID 및 NAME 토큰은 a로 시작해야합니다. 편지 ([A-Za-z])를 따르고 따라 할 수 있습니다 임의의 문자 숫자로 ([0-9]), 하이픈 ( "-"), 밑줄 ( "_"), 콜론 ( ":") 및 마침표 ( ".").
W3C 사양기본 HTML 데이터 유형말한다"ID 및 이름 토큰은 문자 ([A-Za-z])로 시작해야하며 문자, 숫자 ([0-9]), 하이픈 (-), 밑줄 ("_
"), 콜론 (": ") 및 마침표 (". ")가 포함됩니다.
말 그대로 제목을 사용하면 HTML이나 XHTML 규칙이 적용되지 않습니다. 대신 관련 사양은 DOM입니다.
DOM 레벨 3을 소스로 사용하고 "DOM ID"로 "ID"플래그가 설정된 속성을 의미한다고 가정하면이 값은 "DOMString"이며이 문자의 문자는 UTF-16 인코딩 가능 문자가 될 수 있습니다.
16 비트 단위
DOMString의 기본 단위입니다. 이것은 DOMString에 대한 색인 생성 16 비트 단위로 발생합니다. 필수 사항 저것을 오해하지 말라. DOMString은 임의의 16 비트를 저장할 수 있습니다. 단위. DOMString는 문자입니다. UTF-16으로 인코딩 된 문자열. 이것은 UTF-16의 제한 사항은 다음과 같습니다. 잘 다른 관련성 문자열에 대한 제한은 유지되어야한다. 단일 문자, 숫자의 형태로 된 예 문자 참조는 다음에 해당 할 수 있습니다. 하나 또는 두 개의 16 비트 단위.
물론, 이것은 아마도 당신이 원하는 것이 아니며 Ludwig Weinzierl의 대답은 당신이 찾고 있던 것입니다. 그러나 모든 DOM을 HTML 또는 XHTML로 직렬화 할 수있는 것은 아니며 DOM에는 고유 한 규칙 집합이 있다는 것을 이해하는 것이 좋습니다.
HTML 4.0 스펙에 따르면
ID 및 NAME 토큰은 문자 ([A-Za-z])로 시작해야하며 숫자, 숫자 ([0-9]), 하이픈 ( "-"), 밑줄 ( "_" , 콜론 ( ":") 및 마침표 ( ".")로 구성됩니다.
유효한 html 일명 xhtml의 목적을 위해 필립은 정확합니다. id 속성에는 공백이나 특수 문자 (실제로는 이스케이프가 필요하지 않음)가 없어야합니다. 52 문자 알파벳, 대소 문자, 숫자 0-9, 하이픈 ( "-"), 밑줄 ( "_"), 콜론 ( ":") 및 마침표 ( ".")
/^[a-z]+[a-z0-9\-_:\.]*$/i
. - Gajus[#xF900-#xFDCF]
정규 표현식에서 허용하지 않는 이름에 사용할 수있는 유용한 유니 코드 문자를 나타냅니다. - Phrogz