繁体   English   中英

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

[英]regular expression for last 4 digits of alphanumeric

我有以下代码可以屏蔽字段的除最后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"> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM