SSN输入字段,仅显示最后四位数字 | 带有显示/隐藏功能

huangapple go评论83阅读模式
英文:

SSN Input Field with display only last four digits | with show/hide feature

问题

我只想显示社会安全号码的最后四位数字,其他部分用星号代替。例如:****-**-7654

我还想要一个切换星号显示/隐藏的功能,这样用户就可以看到星号后面的内容并切换它。

<input type="password" name="password" id="password" />
<i class="bi bi-eye-slash" id="togglePassword"></i>

请帮忙解决这个问题。

谢谢!

英文:

I only want to display the SSN last four digits and rest in asterisk. Like : ****-**-7654

and I want to toggle asterisk show/hide. so that user can see behind the asterisk and toggle it.

            &lt;input type=&quot;password&quot; name=&quot;password&quot; id=&quot;password&quot; /&gt;
            &lt;i class=&quot;bi bi-eye-slash&quot; id=&quot;togglePassword&quot;&gt;&lt;/i&gt;

please help to sort out this

Regards

答案1

得分: 1

这可能不完全符合你的要求,但它会非常接近。

这段代码利用了输入框的blur()和focus()方法。
在输入完整的社会安全号码后,点击输入框外部即可看到变化。
点击提交按钮将触发alert(),显示你输入的完整社会安全号码。

<!-- begin snippet: js hide: false console: true babel: false -->

<!-- language: lang-js -->
$('form').on('submit', function(e){
	e.preventDefault();
	let socialSecurityValue = $('input[name=social]').data('value');
	alert('SS: ' + socialSecurityValue);
});

$('input[name=social]').focus(function(){
	let val = $(this).data('value');
	if (val) {
		$(this).val(val);
	}
});

$('input[name=social]').blur(function(){
	$(this).data('value', $(this).val());
	$(this).val( $(this).val().replace(/^\d{5}/, '***-**-'));
});

<!-- language: lang-html -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<form>
	<input class="social" type="text" name="social" maxlength="9" required>
	<input type="submit" value="Submit">
</form>

<!-- end snippet -->

希望对你有帮助!

英文:

This may not work exactly how you're wanting but it will get you very close.
This code takes advantage of blur() and focus() on the input.
After typing in your full SS, click out of the input to see the changes.
Clicking submit will trigger the alert() which shows the full SS as you typed it.

<!-- begin snippet: js hide: false console: true babel: false -->

<!-- language: lang-js -->

$(&#39;form&#39;).on(&#39;submit&#39;, function(e){
	e.preventDefault();
	let socialSecurityValue = $(&#39;input[name=social]&#39;).data(&#39;value&#39;);
	alert(&#39;SS: &#39; + socialSecurityValue);
});

$(&#39;input[name=social]&#39;).focus(function(){
	let val = $(this).data(&#39;value&#39;);
	if (val) {
		$(this).val(val);
	}
});

$(&#39;input[name=social]&#39;).blur(function(){
	$(this).data(&#39;value&#39;, $(this).val());
	$(this).val( $(this).val().replace(/^\d{5}/, &#39;***-**-&#39;));
});

<!-- language: lang-html -->

&lt;script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js&quot;&gt;&lt;/script&gt;

&lt;form&gt;
	&lt;input class=&quot;social&quot; type=&quot;text&quot; name=&quot;social&quot; maxlength=&quot;9&quot; required&gt;
	&lt;input type=&quot;submit&quot; value=&quot;Submit&quot;&gt;
&lt;/form&gt;

<!-- end snippet -->

huangapple
  • 本文由 发表于 2023年8月9日 02:58:03
  • 转载请务必保留本文链接:https://go.coder-hub.com/76862481.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定