我需要验证一些用户输入。据我了解,“en-US”是有效的标准 HTTP 语言环境,而“en_GB”不是。有没有办法验证这一点?
问问题
1597 次
1 回答
1
这是规格:
HTTP 语言标签的语法和注册表与 RFC 1766 1定义的相同。总之,一个语言标签由一个或多个部分组成:一个主要语言标签和一系列可能为空的子标签:
language-tag = primary-tag *( "-" subtag ) primary-tag = 1*8ALPHA subtag = 1*8ALPHA
[...] 其中任何两个字母的主标签都是 ISO-639 语言缩写,任何两个字母的初始子标签都是 ISO-3166 国家代码。(上面的最后三个标签不是注册标签;除了最后一个之外都是未来可能注册的标签示例。)
这里是国家代码。当然,“GB”在列表中。
en-GB
完全可以,但en_GB
不是。
于 2012-10-08T14:56:11.597 回答