我正在使用jquery.inputmask库。 对于英国国民保险号,以下REGEX适用:
^ [A-CEGHJ-PR-TW-Z] {1} [A-CEGHJ-NPR-TW-Z] {1} [0-9] {6} [A-DFM] {0,1} $
请参阅http://regexlib.com/REDetails.aspx?regexp_id=527&AspxAutoDetectCookieSupport=1
然而,当用户输入数字以将其字母转换为大写字母时,我想要的是用户。 但是当我在jquery中包含这些代码行时,我无法输入任何内容;
var regexNationalInsuranceNumber = "^[A-CEGHJ-PR-TW-Z]{1}[A-CEGHJ-NPR-TW-Z]{1}[0-9]{6}[A-DFM]{0,1}$";
$("input.niNo").inputmask("AA999999A").inputmask("Regex", { regex: regexNationalInsuranceNumber });
那么我该如何让它发挥作用呢?
答案 0 :(得分:1)
证明这个!
$('.maskAndUppercase')
.keyup(function () {
$(this).val($(this).val().toUpperCase());
})
.mask('AAA-0AA0', {
selectOnFocus: true
});
答案 1 :(得分:0)
根据文档,您需要添加大小写:'upper'
$("input.niNo").inputmask("AA999999A").inputmask("Regex", {
regex: regexNationalInsuranceNumber,
casing: 'upper' });
https://github.com/RobinHerbots/Inputmask#casing
但是,我无法正常工作,所以我选择了css路线:
text-transform: uppercase;
答案 2 :(得分:0)
Javascript有一个.toUpperCase()方法:
var regexNationalInsuranceNumber = "^[A-CEGHJ-PR-TW-Z]{1}[A-CEGHJ-NPR-TW-Z]{1}[0-9]{6}[A-DFM]{0,1}$";
$("input.niNo")
.val($("input.niNo").val().toUpperCase())
.inputmask("AA999999A")
.inputmask("Regex", { regex: regexNationalInsuranceNumber });
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase