英格兰和威尔士的英国公司注册号由8个整数组成。 对于苏格兰来说,它是" SC"其次是6个整数,对于北爱尔兰,它是" NI"其次是6个整数。 输入掩码的文档是全面的,请参阅http://github.com/RobinHerbots/jquery.inputmask。 最简单的解决方案是;
$("input.CompanyFormat").inputmask("**999999", "placeholder": "", "casing": "upper" });
但这不是最好的解决方案。用户应该只能输入" SC"," NI"或2位数后跟6位数。
答案 0 :(得分:1)
所有输入掩码共有的正则表达式方法存在问题:单个字符串输入完全不知道上下文。您只能为单个字符输入定义特殊模式,例如如果你想让第一个字符为S
,你可以在definitions
中定义它,但它不会知道它后面会发生什么或它前面会发生什么。
因此,您无法为通配符定义多字符模式,您必须使用其他验证机制以及掩码。
E.g。您可以使用输入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>
&#13;
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位数$
- 字符串结尾(隐式)。