【发布时间】:2019-03-08 19:13:02
【问题描述】:
显然,为了安全起见,我掩盖了 SSN 的数字...但是当我提交时,变量填充为“*--****”,并假设获取原始输入 ex。 123-45-6789。我只想屏蔽该输入。
JQuery:
$(function () {
$('#ssn').keyup(function () {
var val = this.value.replace(/[^\d\*]/g, '').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;
});
});
HTML:
<div class="col-lg-3 col-md-4">
@Html.LabelFor(model => model.SolicitantDataView.SSN, htmlAttributes: new { @class = "control-label col-lg-12 col-md-3 required" })
@Html.EditorFor(model => model.SolicitantDataView.SSN, new { htmlAttributes = new { @class = "form-control ssn ssnControl", @id = "ssn", @maxlength = "11" } })
@Html.ValidationMessageFor(model => model.SolicitantDataView.SSN, "", new { @class = "text-danger" })
</div>
我尝试过这种方式,但是 require 方法不再起作用了...
$(document).ready(function(){
$('.ssn').unmask().maskSSN('999-99-9999', { maskedChar: 'X', maskedCharsLength: 5 });
});
【问题讨论】:
标签: c# jquery html asp.net-mvc