【问题标题】:Input masking and unmasking like xxx-xx-6789 (mask) and 123-45-6789 (unmask)输入屏蔽和取消屏蔽,如 xxx-xx-6789(屏蔽)和 123-45-6789(取消屏蔽)
【发布时间】:2016-12-27 06:31:29
【问题描述】:

请问有人对 xxx-xx-6789 等文本框进行了输入屏蔽。

一个文本和一个复选框。

如果选中复选框,则应用掩码,如 (xxx-xx-6789)。 如果未选中复选框,则删除 (123-45-6789) 之类的屏蔽。

两种情况的实际值都是 123456789(用于保存)。

https://github.com/mishraas/jQuery-SSN-Field-Masking

【问题讨论】:

标签: javascript jquery


【解决方案1】:

如下添加一个复选框

<input type="checkbox" name="MaskUnmask" value="MaskUnmask" class="maskunmask"/>

并在javascript中添加更改功能,如下所示

<script type="text/javascript">

            $(document).ready(function(){
                $('#ssn').unmask().maskSSN('999-99-9999', { maskedChar: 'X', maskedCharsLength: 5 });

                $(".maskunmask").on("change", function () {

                    if ($(this).prop('checked')) {
                        $('#ssn').unmask().mask('999-99-9999');
                    }
                    else {
                        $('#ssn').unmask().maskSSN('999-99-9999', { maskedChar: 'X', maskedCharsLength: 5 });
                    }
                });
            });

        </script>

【讨论】:

    【解决方案2】:

    要获取取消屏蔽输入文本框的值,请使用屏蔽格式“999999999”。

    var val = $('#ssn').mask('999999999').val();
    

    尝试以下操作,在复选框事件中应用和删除以下掩码格式。

    $('#ssn').unmask().maskSSN('999-99-9999', {maskedChar:'X', maskedCharsLength:5});
    
    
    $("#check").change(function(){
    var val = $('#ssn').mask('999999999').val();
    
     if ($(this).prop('checked')) {
                            $('#ssn').unmask().mask('999-99-9999');
                        }
                        else {
                            $('#ssn').unmask().maskSSN('999-99-9999', { maskedChar: 'X', maskedCharsLength: 5 });
                        }
    alert(val);
    });
    

    【讨论】:

      猜你喜欢
      • 2012-06-27
      • 1970-01-01
      • 1970-01-01
      • 2012-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-05
      • 1970-01-01
      相关资源
      最近更新 更多