英国公司注册号的输入掩码

input mask for UK company registration number

英格兰和威尔士的英国公司注册号由 8 个整数组成。 对于苏格兰,它是 "SC" 后跟 6 个整数,而对于北爱尔兰,它是 "NI" 后跟 6 个整数。 输入掩码的文档很全面,请参阅 http://github.com/RobinHerbots/jquery.inputmask。 最简单的解决方案是;

$("input.CompanyFormat").inputmask("**999999",  "placeholder": "", "casing": "upper" });

但这不是最好的解决方案。用户只能输入 "SC"、"NI" 或 2 位数字后跟 6 位数字。

所有输入掩码通用的正则表达式方法存在一个问题:单个字符输入完全不知道上下文。您只能为单个字符输入定义特殊模式,例如如果您希望第一个字符为 S,您可以在 definitions 中定义它,但它不会知道它之后或之前的内容。

因此,您不能为通配符定义多字符模式,您必须使用额外的验证机制和掩码。

例如您可以使用输入 HTML5 pattern 验证来告诉用户模式无效:

<input type="text" pattern="(SC|NI|[0-9]{2})[0-9]{6}" title="Wrong input!">

查看 HTML5 演示:

<form name="form1"> 
 <input pattern="(SC|NI|[0-9]{2})[0-9]{6}" title="Wrong input!" />
 <input type="Submit"/> 
</form>

pattern="(SC|NI|[0-9]{2})[0-9]{6}"(它将编译为 /^(?:(SC|NI|[0-9]{2})[0-9]{6})$/,在 FF 和 Chrome 中使用 u 修饰符)将匹配匹配

的任何输入
  • ^ - 字符串开头(隐式)
  • (SC|NI|[0-9]{2}) - SC, NI 或 2 位数字
  • [0-9]{6} - 6 位数
  • $ - 字符串结尾(隐式)。