如何在使用jquery的掩码时用'*'替换ssn的初始数字
例如: 123-45-6789 将被插入为 ***-**-6789 ,但是当我们获取值时,我们应该得到 123456789
给定 HTML 如下:
<form id="ssn_form">
<input name="ssn" id="ssn" type="text">
<button id="submit">Submit</button>
</form>
您可以将 SSN 存储在模糊的数据属性中并屏蔽该值。然后在提交表单时,您可以在提交表单之前将值重新填充到输入中:
var retrieveValue = function(ev){
var $this = $(this),
val = $this.data('value');
if (val) {
$this.val(val);
}
},
hideValue = function(ev){
var $this = $(this);
$this.data('value', $this.val());
$this.val($this.val().replace(/^\d{5}/, '*****'));
};
$('#ssn').focus(retrieveValue);
$('#ssn').blur(hideValue);
$('#ssn_form').submit(function(ev){
ev.preventDefault();
retrieveValue.call($('#ssn')[0], ev);
$(this).submit();
});
没有任何代码供应我认为这是你可以尝试的最好的:)
输入 - 123-45-6789
输出- ***-**-6789
检查这个——
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script>
function mask(f){
tel='';
var val =f.value.split('');
for(var i=0;i<val.length;i++){
if(i<3){val[i]='*'}
if(i<6 && i>3 ){val[i]='*'}
tel=tel+val[i]
}
f.value=tel;
}
</script>
</head>
<body>
<form>
<input name="phone" type="text" onblur="mask(this)">
</form>
</body>
</html>