我需要验证一些用户输入。据我所知,“en-US”是有效的标准HTTP语言环境,而“en_GB”则不是。有没有办法验证这个?
答案 0 :(得分:1)
HTTP语言标记的语法和注册表与此相同 由RFC 1766 1定义。总之,语言标签由1组成 或更多部分:主要语言标签和可能空的系列 子标记:
language-tag = primary-tag *( "-" subtag ) primary-tag = 1*8ALPHA subtag = 1*8ALPHA
[...] 其中任何两个字母的主要标签是ISO-639语言的缩写 任何两个字母的初始子标签都是ISO-3166国家/地区代码。 (该 上面的最后三个标签不是注册标签;除了最后一点都是 可以在将来注册的标签示例。)
here are the country code。当然“GB”在列表中。
en-GB
完全没问题,但en_GB
不是。