jquery屏蔽数字输入
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery屏蔽数字输入相关的知识,希望对你有一定的参考价值。
我正在使用一个函数来屏蔽输入到我的文本框中的数字,但是我希望在将它屏蔽到一个可以观察到的敲除之前分配该值。我不确定我的功能在哪里可以抓取并存储该值,因为当您在文本框中输入值并且标签输出时,值将被“*”替换为仅用于显示。所以我的文本框显示*** 111我的observable的值应为1111111。
var viewModel = function () {
$(".textboxsemimedium").on("keydown keyup",
function (e) {
$(this).prop("value",
function (i, o) {
if (o.length < 6) {
return o.replace(/d/g, "*");
}
});
});
self.theMemberNo = ko.observable();
}
ko.applyBindings(viewModel);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="textboxsemimedium" data-bind="value:theMemberNo" data-val="true" data-val-length="Member Number be of 9 characters!" data-val-length-max="9" data-val-length-min="9" data-val-required="Member Number is required!" id="MemberNumber" maxlength="10" name="MemberNumber" title="Member Number is Required!" type="text" value="">
<span data-bind="text:theMemberNo"></span>
答案
尝试使用这个https://css-tricks.com/better-password-inputs-iphone-style/然后你实现它像$('#user-password-2').dPassword();
它的工作原理类似于iPhone的密码。
另一答案
您将theMemberNo绑定到输入值。因此,如果值从1变为*,则可观察值也会发生变化。
我不会将输入文本的值绑定到一个observable我只是绑定事件键,然后,我会有一个observable来保持原始值。显然,每次有一个keyup事件时你都必须及时了解这个observable。
以上是关于jquery屏蔽数字输入的主要内容,如果未能解决你的问题,请参考以下文章