如何在使用jquery掩码
时用'*'替换ssn的初始数字例如: 123-45-6789 将作为*** - ** - 6789插入 ,但是当我们获取值时,我们应该得到123456789
答案 0 :(得分:3)
给出如下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();
});
答案 1 :(得分:0)
没有任何代码供应,我认为这是您可以尝试的最佳:)
INPUT - 123-45-6789
OUTPUT- ***-**-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>