Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript SSN将数字屏蔽为键控输入中的特殊字符(*)_Javascript_Jquery - Fatal编程技术网

Javascript SSN将数字屏蔽为键控输入中的特殊字符(*)

Javascript SSN将数字屏蔽为键控输入中的特殊字符(*),javascript,jquery,Javascript,Jquery,我正在尝试将SSN字段中的所有数字在键控时屏蔽为*。 我这里有个解决办法。但我怎样才能得到真正的值并将其存储在隐藏字段中呢。如果数字在这段时间内发生变化,则应相应更新。有没有办法做到这一点?例如,如果我键入123,我应该在每个数字上更改为***,并显示几秒钟。如果我移除或删除2并放置4,它应该给出隐藏值143。type=在更改为*之前,不作为数字使用的密码应在几秒钟内可见 Ras我已经为您创建了一个代码。 这适用于/[a-zA-Z0-9]/ 实际上,我们在服务器的隐藏元素中保留值,并在UI中显示

我正在尝试将SSN字段中的所有数字在键控时屏蔽为*。
我这里有个解决办法。但我怎样才能得到真正的值并将其存储在隐藏字段中呢。如果数字在这段时间内发生变化,则应相应更新。有没有办法做到这一点?例如,如果我键入123,我应该在每个数字上更改为***,并显示几秒钟。如果我移除或删除2并放置4,它应该给出隐藏值143。type=在更改为*之前,不作为数字使用的密码应在几秒钟内可见

Ras我已经为您创建了一个代码。 这适用于/[a-zA-Z0-9]/

实际上,我们在服务器的隐藏元素中保留值,并在UI中显示***

这是一个演示,你可以根据需要定制

var arr=[];
函数更改值(事件){
var元素=document.getElementById('password');
var hiddenElement=document.getElementById('hiddenPass');
var startPos=element.selectionStart;
var endPos=element.selectionEnd;
var isTrue=/[a-zA-Z0-9]/.试验(元素值);
//如果[0-9](用于数字)
if((isTrue | | event.keyCode==8)){
//删除
如果(event.keyCode==8){
arr.拼接(端位,1);
固定星(arr);
}否则{
var val=元素值;
var obj={key:val[startPos-1],值:'*'};
//孔位插入
阵列拼接(startPos-1,endPos startPos,obj);
固定星(arr);
}
}否则{
//空间控制
element.value=element.value.trim();
返回;
}
}
//星辰
函数setStar(arr){
var元素=document.getElementById('password');
var hiddenElement=document.getElementById('hiddenPass');
var starText=“”;
var originalText=“”;

对于(var i=0;i创建一个变量并将其保存在内部。还要确保此变量的作用域高于handler它不会存储在变量中并进行检索。我已尝试了itonkeyup,请尝试类似于
variable+=this.value.match(/[^*]/g)[0];this.value=this.value.replace(/[^*]/g,'*')
我认为您在文本框中检索*的值很麻烦,这意味着您有多个星星(*)就像12345到****一样。你正在删除*但是真实的数字应该被删除。@Rajesh。我添加了上面的内容。发生的事情是当我键入123时,它显示在警报中。但是如果我删除3并添加4,它显示1234.3没有被删除。如果我在1之前的开头添加5,警报值是12345。但实际上它应该返回5124。我感谢你的支持代码。但是你不允许删除中间的数字,也不允许光标移动。如果我复制3个符,比如说123,然后粘贴到框中,它只需要隐藏中的最后一个,即3。相反,它应该需要123。如果我将光标保持在两个数字之间,并删除光标位置,则光标位置最后一个。并且附加值附加到h中的最后一个位置idden字段没有给出正确的输出。那么我们如何实现这种情况?@ankit-您有什么解决方案吗?