gpt4 book ai didi

javascript - 字母数字后 4 位的正则表达式

转载 作者:行者123 更新时间:2023-11-28 00:56:49 24 4
gpt4 key购买 nike

我有以下代码来屏蔽字段中除最后 4 位数字之外的所有数字,但是当用户在最后 4 位数字中输入字母数字时,它会给出 Null 异常。输入示例:1a1a1a1a

我怎样才能接受字符?

var mask = val.match(/^(.*?)(\d{4})$/);

return (mask[1] ? mask[1].replace(/\d/g, '*') : '') + (mask[2] ? mask[2] : '')

return 行给出错误:Error: '1' is null or not an object

最佳答案

您不需要为此使用正则表达式。只需使用字符串长度函数即可。

这是一个 jQuery 解决方案:

$(function() {
var contents = "";
$("#masking").blur(function() {
contents = $(this).val();
$(this).val(mask(contents));
});
$("#masking").focus(function() {
if (contents.length > 0) {
$(this).val(contents);
}
});
});

function mask(unmaskedValue) {
if (unmaskedValue.length > 1) {
var masked = "";
var remain = 0;
if (unmaskedValue.length <= 4) {
masked += "*";
remain = unmaskedValue.length - 1;
} else {
for (i = 0; i < unmaskedValue.length - 4; i++) {
masked += "*";
}
remain = 4;
}
masked += unmaskedValue.substring(unmaskedValue.length - remain, unmaskedValue.length);
return masked;
} else
return "";
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>Type:</label>
<input id="masking" type="text">

关于javascript - 字母数字后 4 位的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26127301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com