T.J*_*der 10

你的意思是XML 元素名称?如果是这样,不,那太独了,有很多有效的字符,不包括在内.更多规范在这里这里:

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] 

Name             ::=    NameStartChar (NameChar)* 
Run Code Online (Sandbox Code Playgroud)


Joh*_*hnB 5

编辑:

.NET还有XmlConvert.VerifyName(string)方法.

来自维基百科:

以下代码点范围中的Unicode字符在XML 1.0文档中有效:

  • U + 0009
  • U + 000A
  • U + 000D
  • ü+ 0020-U + D7FF
  • U + E000-U + FFFD
  • U + 10000-U + 10FFFF

以下代码点范围中的Unicode字符在XML 1.1文档中始终有效:

  • U + 0001-U + 0008
  • U + 000B-U + 000C
  • U + 000E-U + 001F
  • U + 007F-U + 0084
  • U + 0086-U + 009F

前面的代码点包含在以下代码点范围中,这些代码点范围仅在XML 1.1文档中的某些上下文中有效:

  • U + 0001-U + D7FF
  • U + E000-U + FFFD
  • U + 10000-U + 10FFFF