【发布时间】:2016-09-23 07:36:00
【问题描述】:
我试图将 SSN 字段中的所有数字屏蔽为 *,同时让用户只输入数值并用破折号格式化 SSN。
这是一个小提琴链接:
https://jsfiddle.net/7f8p83am/
$('#ssn').keyup(function() {
var val = this.value.replace(/\D/g, '');
var newVal = '';
var sizes = [3, 2, 4];
var maxSize = 10;
for (var i in sizes) {
if (val.length > sizes[i]) {
newVal += val.substr(0, sizes[i]) + '-';
val = val.substr(sizes[i]);
} else {
break;
}
}
newVal += val;
this.value = newVal;
});
显然,替换正在摆脱 *.关于如何做到这一点的任何想法?
提前致谢。
【问题讨论】:
-
您是否有某个变量仍然包含未屏蔽的数字?否则,如果您在输入时将其屏蔽,则无法在提交期间检索该值。
-
@4castle 这回来踢我的头。你有什么建议吗?