问题标签 [maskedinput]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
21827 浏览

jquery - 用于格式化输入的 jQuery 插件

我想接受以下任何格式的值:

  • -$5
  • -$5.00
  • 5 美元
  • 5.00 美元

是否可以使用Masked Input Plugin做到这一点?

如果没有,我在寻找什么插件?

如何指示字符是可选的?

到目前为止我得到的代码

0 投票
3 回答
4044 浏览

asp.net - AjaxControlToolkit MaskedEditExtender - 自定义掩码外观

我正在使用 MaskedEditExtender 向用户展示他们应该使用什么格式将日期输入到文本框中。如何将掩码更改为dd/MM/yyyy而不是__/__/____

0 投票
2 回答
3265 浏览

jquery - 如何自定义 Masked Input jQuery 插件

我正在使用来自的 jQuery 掩码插件

http://digitalbush.com/projects/masked-input-plugin/

我想自定义我的插件,并已尽力做到这一点,但我做不到。

我想要的是

  1. 我只能输入数字。
  2. 所有数字将在每 3 个数字后自动格式化 (,)。
  3. (.) 后面只有两位数

我正在使用这个面具:

这样做的问题是,如果我只需要输入 150.50,我需要将光标放在确切的位置并输入。

例如,在上面的掩码中,如果我输入 150.50,文本框如下所示: [][][],[][][],150.50 其中 [] 是一个空格。我想要的是只显示 150.50,没有额外的 (,)s。
如果我输入 1150.50 然后显示 1,150.50,但我希望在我完成输入后自动进行格式化并且不想显示额外的任何 (,)。

0 投票
4 回答
4162 浏览

c# - 表单提交后如何从输入掩码中删除文字?

我在 ASP.NET 3.5 Webform 应用程序中为 jQuery 使用 Josh Bush 的 MaskedInput 插件。

表单提交后如何摆脱代码隐藏文件中的文字?

例如:带有掩码的电话输入$("#txtPhone").mask("(99)9999-9999");

在代码隐藏中:

哪个返回我:(12)3456-7890

但这就是我想要的:1234567890

插件更改日志页面中,它说我可以使用mask()不带参数的方法来归档它。但是如何从代码隐藏中做到这一点?!

编辑

我的问题不清楚,所以:我想向服务器发送未屏蔽的值。怎么做?

0 投票
1 回答
1299 浏览

jquery - jQuery屏蔽输入插件在智能手机上不起作用

很长一段时间以来,我一直在使用 jQuery 的屏蔽输入插件。

http://digitalbush.com/projects/masked-input-plugin/

直到昨天我收到了一张关于插件在 Driod 手机上表现不正常的支持票。

例如,当用户尝试在演示选项卡上的电话号码中输入电话号码 (123)345-9646 时,会出现 (321)345-4696 或类似的内容。

我没有智能手机,因此我无法真正进行测试。

我不确定我最好的方法是解决这个问题。智能手机上的此插件是否存在已知问题?

谢谢

0 投票
1 回答
1705 浏览

jquery - 如何克隆使用 Masked Input 插件的输入?

我正在使用 jQuery 的Masked Input 插件来帮助用户为日期、邮政编码、电话号码等字段输入有效输入。(我还使用Validate来确保除非事情正确并提供提示。)

我的问题是我需要能够克隆一行输入,其中包括那些使用 Masked Input 的输入。通常,jQueryclone(true)将复制任何绑定的事件以及克隆的 DOM 节点,但由于某种原因,这不适用于 Masked Input:单击克隆的输入会​​导致它专注于原始输入。

看到插件作者也有这个问题,但据我所知,还没有解决。

有人有解决方法吗?我想我可以调用unmask()新的输入,然后mask()再次应用原始规则,但我不想硬编码这些规则是什么;我希望它们从原始输入中确定,这样我只需将它们编码在一个地方。

0 投票
7 回答
33446 浏览

jquery - jQuery Validate 和 Masked Input 之间的冲突

我有一个表单,它同时使用jQuery ValidateMasked Input来输入电话号码和美国邮政编码字段。

例如,对于美国邮政编码,Masked Input 只允许输入数字,并强制使用“99999”或“99999-9999”格式(其中 9 可以是任何数字)。验证规则要求相同。但在某些情况下,Validate 将字段标记为无效,而实际上它应该是有效的。

代码细节

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

我使用 Masked Input 应用的掩码是.mask('99999?-9999')

重现步骤

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

  • 填写无效的邮政编码(例如,三位数字)
  • 远离田野。Masked Input 擦除输入(预期行为),jQuery Validate 将其标记为无效,因为它是空白的(也是预期的)。
  • 返回 zip 字段并填写有效的5 位数zip。
  • 远离田野。它仍然被标记为无效。这是意料之外的

如果我填写 9 位 zip,则不会发生此问题。

假设

我认为这个错误是因为在 5 位 zip 的情况下,Masked Input 临时插入了“-____”以向用户显示他们可以选择输入一个破折号和另外四位数字。这在模糊时被删除,但在被删除之前,该字段已验证并失败,因为不允许使用下划线。

这一假设得到了以下事实的支持:如果表单随后重新验证,则 zip 字段将通过。我已经做到了这两种方式:

  • 通过提交表格;单击提交按钮、zip 字段通过并提交表单时,所有字段都将重新验证。

  • 通过设置blur重新验证该特定字段的事件。例如:

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

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

有没有其他人遇到过这个问题?您有比设置额外的模糊事件侦听器更优雅的解决方案吗?

更新:应用 hacky 解决方案

即使应用上面的 hacky 解决方案也没有我想要的那么好。例如,这不起作用:

...也不是这样:

...但这确实:

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

0 投票
1 回答
927 浏览

jquery - jquerytools & $.maskedinput 冲突

我需要一些关于一个奇怪问题的帮助。

我正在使用 jQueryTools,对此我很满意,但我认为 maskedinput 插件的 $.mask() 方法与 jQueryTools 的 .mask() 属性冲突。当我同时使用它们时,控制台说“对象没有诸如 load() 之类的方法”。如果我从文档中删除掩码输入 js,则所有内容都可以叠加。

$.maskedInputs

jQueryTools .mas()

你有这样的想法吗?

谢谢

0 投票
0 回答
559 浏览

jquery - Masked Input 插件在移动设备上的行为很奇怪?

我正在使用来自以下网站的屏蔽输入插件。对于笔记本电脑,掩码适用于 MAC 地址,例如,当我输入 e1 时,它会跳过冒号并继续输入,但是,如果我从移动设备访问该页面,我的意图是输入 11 :22:33:44:55:66,光标始终停留在最前面,输入为 66:55:44:33:22:11。

0 投票
1 回答
4191 浏览

jquery - 当我提交页面时,屏蔽的输入电话号码会清除文本框

我有两个问题:

1)我有这样的电话格式:

所以当我提交表单时,我想验证用户是否输入了所有 10 个数字,所以我尝试了这样的操作,但是

但不知何故,我得到了面具字符,我怎么能只有菲号码?

2)当我提交表单时它会清除电话文本框,我怎样才能将电话号码保留在文本框中?