标签: maskedinput

jquery屏蔽输入插件,以便在出错时不清除字段

我在看http://digitalbush.com/projects/masked-input-plugin/

我这样称呼它:

$(control).mask('999-999-9999');
Run Code Online (Sandbox Code Playgroud)

如果出现问题,我不希望它丢弃用户输入,例如它们还没有完成

[407-555-____]
Run Code Online (Sandbox Code Playgroud)

如果你在键入这么多之后离开现场,它会清除它.我想留下它以便以后完成.

我是jQuery的新手,我已经查看了他的源代码,但我找不到任何方法可以做到这一点,我也找不到任何方法来编辑它来完成我想要的东西,因为代码对我而言是晦涩难懂的眼睛.

javascript jquery maskedinput

30
推荐指数
2
解决办法
4万
查看次数

带有jQuery和Masked Input Plugin的手机屏幕

我有一个问题,用jQuery和Masked Input Plugin屏蔽手机输入.

有两种可能的格式:

  1. (XX)XXXX-XXXX
  2. (XX)XXXXX-XXXX

有没有办法掩盖它接受这两种情况?

编辑:

我试过了:

$("#phone").mask("(99) 9999-9999"); 
$("#telf1").mask("(99) 9999*-9999");    
$("#telf1").mask("(99) 9999?-9999"); 
Run Code Online (Sandbox Code Playgroud)

但它并不像我想的那样有效.

最接近的是(xx)x​​xxx-xxxxx.

我输入(xx)x​​xxx-xxxx时输入第10个数字,而(xx)x​​xxxx-xxxx输入第11个数字时输入.它可以吗?

javascript jquery input mask maskedinput

28
推荐指数
4
解决办法
23万
查看次数

jQuery Validate和Masked Input之间的冲突

我有一个表格,它同时使用jQuery ValidateMasked Input作为电话号码和美国邮政编码字段.

例如,对于美国邮政编码,屏蔽输入仅允许输入数字,并强制格式为"99999"或"99999-9999"(其中9可以是任意数字).验证规则要求相同.但在某些情况下,Validate会在某个字段实际有效时将其标记为无效.

代码细节

jQuery Validate在邮政编码字段中使用的正则表达式是^\d{5}$|^\d{5}\-\d{4}$.

我正在使用蒙面输入的面具是 .mask('99999?-9999')

重现步骤

当我执行以下操作时,会产生它们之间的冲突:

  • 填写无效的邮政编码(比方说,三位数)
  • 远离田野.Masked Input删除输入(预期行为),jQuery Validate将其标记为无效,因为它是空白的(也是预期的).
  • 返回邮政编码区并填写有效的5位数邮政编码.
  • 远离田野.它仍被标记为无效.这是出乎意料的.

如果我填写一个9位数的邮编,则不会发生此问题.

假设

我认为这个错误是因为在5位数字拉链的情况下,Masked Input暂时插入"-____"以向用户显示他们可以选择输入短划线和另外4位数字.这在模糊时被删除,但在删除之前,该字段已经过验证并失败,因为不允许使用下划线.

这个假设得到以下事实的支持:如果随后重新验证表单,则zip字段将通过.我这样做了两个方面:

  • 提交表格; 单击提交按钮,zip字段通过,表单提交时,将重新验证所有字段.
  • 通过设置blur重新验证该特定字段的事件.例如:

    $("#zipcode").blur(function(){$(this).closest('form').validate().element($(this));});

这可以作为一个hacky解决方案,但不是很令人满意,因为1)默认设置已经重新验证模糊,所以这是重复的,2)它需要除常规验证规则之外的其他代码.

还有其他人遇到过这个问题吗?您是否拥有比设置其他模糊事件监听器更优雅的解决方案

更新:应用hacky解决方案

即使应用上面的hacky解决方案也不如我想的那样好.例如,这不起作用:

$appDiv.delegate('input,select,textarea','blur',function(){
  $(this).closest('form').validate().element($(this));
});
Run Code Online (Sandbox Code Playgroud)

......也不是这样的:

$('input,select,textarea').live('blur',function(){
  $(this).closest('form').validate().element($(this));
});
Run Code Online (Sandbox Code Playgroud)

......但是这样做:

$('input,select,textarea').each(function(){
  $(this).blur(function(){
    $(this).closest('form').validate().element($(this));
  });
});
Run Code Online (Sandbox Code Playgroud)

由于这些元素是由AJAX加载的,因此.each每次加载表单部分时都必须运行该版本.

validation jquery maskedinput

25
推荐指数
4
解决办法
3万
查看次数

如何在输入时更改输入中的电话号码格式?

我的CodePen: http ://codepen.io/leongaban/pen/cyaAL

我有一个电话号码的输入字段,最多允许20个字符(国际号码).

我还使用了屏蔽输入jQuery插件,乔希·布什的格式输入电话号码,使其"漂亮".

在此输入图像描述

  • 我的问题是,在电话是10位或更少的要求时,它应该使用Masked输入格式.

  • 但是,当电话号码超过10位时,应删除格式.



这是我目前的:CodePen,手机是输入字段,我正在努力实现这一目标.Work Phone是Mask输入插件的默认功能的一个示例.

你会怎么解决这个问题?

jQuery for Cell Phone输入字段:

case '2':
    console.log('created phone input');
    $('.new_option').append(myphone);
    $('.added_mobilephone').mask('(999) 999-9999? 9');
    $('.added_mobilephone').keypress(function(event){

      if (this.value.trim().length > 10) {
        console.log('this.value = '+this.value.trim());
        console.log('greater then 10');
        $('.added_mobilephone').mask('99999999999999999999');
      }

      /*if (this.value.length < 9) {
        console.log(this.value);
        console.log('less then 10');
        $('.added_mobilephone').mask('(999) 999-9999? 9999999999');
      } else if (this.value.length > 9) {
        console.log(this.value);
        console.log('greater then 10');
        $('.added_mobilephone').mask('99999999999999999999');
      }*/
    });
    break;
Run Code Online (Sandbox Code Playgroud)

formatting jquery input phone-number maskedinput

20
推荐指数
4
解决办法
6万
查看次数

是否有使用扩展程序的knockout.js的蒙面输入插件?

我看过这篇文章 - 它显示了一个可能的解决方案.但我希望有一种更优雅的方式来做掩码输入.

它也应该与淘汰验证插件(或者可能扩展它)很好地配合.

任何人都知道那里有类似的项目吗?

javascript maskedinput knockout.js

17
推荐指数
2
解决办法
2万
查看次数

货币jQuery的蒙面输入

在我的Web应用程序中,我有一个名为"预算"的输入字段,用户可以在其中输入项目的建议预算.我需要创建一个蒙版输入,以便在用户输入输入字段时自动将输入的数量设置为以下格式:

1 000
10 000
100 000

我在整个互联网上搜索过,但似乎没有找到必要的.任何人都可以指向一个合适的插件或者建议一个自定义解决方案吗?

提前致谢.

jquery maskedinput

16
推荐指数
2
解决办法
9万
查看次数

表单提交后从输入掩码中删除文字?

这个问题已经被问到,但解决方案还不清楚.

我使用乔什布什的MaskedInput插件为jQuery

我想要实现的是:

例如:带有面罩的电话输入

    $("#txtPhone").mask("(99)9999-9999");
Run Code Online (Sandbox Code Playgroud)

等于:(00)9398-8373

我希望它提交:0093988373

------是否可以在提交时删除.mask但保留值?

jquery plugins mask maskedinput

16
推荐指数
4
解决办法
3万
查看次数

如何用jQuery Masked Input Plugin预先填充9?

我正在使用digitalBush的Masked Input Plugin for jQuery,它非常简单易用.

在某些情况下,我想为客户端预先填充数据,所以对于这样的事情:

.mask("123999")
Run Code Online (Sandbox Code Playgroud)

客户会看到:

123___
Run Code Online (Sandbox Code Playgroud)

并且需要插入最后3位数字.它工作正常,直到我想要预先填充数字9,以显示这样的事情:

129___
Run Code Online (Sandbox Code Playgroud)

当我制作面具时"129999",用户可以看到12____

是否可以使用此插件为用户显示掩码129___

jquery mask maskedinput

9
推荐指数
1
解决办法
5439
查看次数

屏蔽输入在Android手机中不起作用

嗨我已经使用蒙面输入插件点击我的网站格式化用户输入的电话号码我使用的格式(123) 456-7890与PC的工作正常,但当我用Android设备浏览网站并输入电话号码作为1234567890其订单会(213) 456-7890自动更改为任何随机订单.

您可以在他们的演示站点中看到此问题,这里是链接 在使用选项卡旁边的goto演示选项卡中.

任何人都可以建议我一个解决方案.

jquery maskedinput

9
推荐指数
2
解决办法
1万
查看次数

jquery.maskedinput以编程方式设置值并应用掩码?

我正在使用DigitalBush的MaskedInput jquery插件.我有一个简单的电话号码输入框:

$('#txt_PhoneNumber').mask('(999) 999-9999');
Run Code Online (Sandbox Code Playgroud)

有时,字段以编程方式填充非格式化数字,例如5551234567.如何通知掩码输入应用它的掩码来"美化"它的新输入?

jquery maskedinput

8
推荐指数
2
解决办法
9867
查看次数