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屏蔽数字输入的主要内容,如果未能解决你的问题,请参考以下文章

jquery屏蔽输入插件不清除字段?

如何使用 jQuery 创建屏蔽输入?

jQuery 屏蔽输入插件。当文本框获得焦点时选择所有内容

HTML代码片段

HTML代码片段

jquery在错误的位置自动屏蔽输入光标胡萝卜