如何在使用jquery掩码时用'*'替换ssn的初始数字

时间:2012-06-21 06:03:48

标签: jquery html

如何在使用jquery掩码

时用'*'替换ssn的初始数字

例如: 123-45-6789 将作为*** - ** - 6789插入 ,但是当我们获取值时,我们应该得到123456789

2 个答案:

答案 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();
});

See demo

答案 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>