问题标签 [ngx-mask]

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 投票
1 回答
1303 浏览

angular - Angular ngx-mask - 值未格式化

我正在使用这个库ngx-mask并且我试图在 Angular 11 中使用 Reactive Forms 屏蔽一些字段(日期和电话号码)。这是我的代码中的两个片段

但是当我尝试从表单中获取值时,这些值没有被格式化:

这是它在 UI 中的显示方式

日期输入 电话输入 但这是我访问值时的结果 结果

关于我做错了什么的任何想法

0 投票
1 回答
513 浏览

angular - 如何使用可选整数 ngx-mask 屏蔽小数

我正在使用 ngx-mask v11.1.5 并且很难创建一个允许前导整数和省略整数的掩码。例如,“.5”和“0.5”都应该是可接受的输入,并将模型设置为“0.5”。

我试过使用掩码 9*.0*,因为 9* 应该是 0 位或更多位,但是在使用前导数字进行测试时,我无法输入小数,而在没有前导数字的情况下进行测试时,我无法输入尾随位数。

0 投票
0 回答
432 浏览

angular - 将 ngx-mask 指令添加到现有的 Angular 组件类

有没有办法将指令(ngx-mask在我的例子中)添加到具有命名HTML 元素的现有 Angular 组件input#datePicker在下面的示例中)?

示例设置

假设我有一个名为InputDate.component.ts如下所示的组件。组件中的模板(HTML 部分)调用另一个选择器为bb-input-datepicker-ui. 该选择器的组件 -InputDatepicker.component.ts在其模板元素中包含labelinput,但假设我们没有立即可用的源代码 - 我们只能通过@Input()字段将值传递给它。

愿望

我希望能够将ngx-mask指令锁定在InputDatepicker'input元素上。现在,如果我在最后重新创建InputDatepicker组件,我需要做的就是添加一个像这样的掩码key=value对作为以下属性之一input

这将保证两件事:1)只能输入数字,2)日期自动格式化为显示的掩码 - 太好了。

也就是说,我想按InputDatepicker原样使用组件,并且不应该在理想情况下重新创建它。因此,问题是:我可以以某种方式动态添加掩码指令吗?

已经完成了...

如果您看到ngAfterViewInit()上述内容,您应该会看到这样做的谦虚尝试。将console.log打印类似于下面的输出的内容,并显示placeholder正在添加的属性,并且 UI 确实显示了它。然而,该指令没有运气mask,即使它显示在输出中。我想这不是input动态锁定元素指令的正确方法。

感谢您的时间朋友。

0 投票
0 回答
77 浏览

angular - Ngx-Mask 角舍入输入值

我正在将 ngx-mask 用于角度反应式 formControl,它以美元金额从用户那里获取输入。下面是我的代码的副本。

<input type="text" formControlName="asset" matInput prefix="$" mask="separator.2" thousandSeparator="," separatorLimit="100000000000000">

当我输入输入为 999999999999999.99 时,我得到 10000000000000000 作为 formControlValue,这在我有 15,2 十进制限制的后端抛出错误。

** 有没有办法限制四舍五入?**

我将 ngx 11.1.5 与 Angular 11 与 Material UI 一起使用。

0 投票
0 回答
132 浏览

angular - 如何使用 ngx-mask 屏蔽输入“(500)-000-0000”?

我在我的项目中使用ngx-mask 。通常我这样定义我的电话号码的掩码:“(000)-000-0000)”。但我想知道我该怎么做:“(500)-000-0000)”?当我尝试它时,它会破坏我的代码。

0 投票
0 回答
435 浏览

angular - 为什么我不能使用 ng-neat input-mask 动态更新输入的掩码?

我目前在这里玩stackblitz:https ://stackblitz.com/edit/angular-ivy-qr7yav?file=src%2Fapp%2Fanother.component.html

在这里找到了 ng-neat 的输入掩码https://github.com/ngneat/input-mask和 ngx-mask,我发现如果我尝试在两个潜在掩码之间动态绑定传入的掩码值,它不起作用。关于事后像这样绑定的能力,我有什么遗漏吗?

我在此链接上找到了一个响应,其中包含 ngx-mask 的解决方法,但我真的不明白为什么

所以我决定在用户​​输入一些值之后动态添加掩码。— — Damian Kociszewski 20 年 9 月 16 日在 10:15 @DamianKociszewski 你是如何解决这个问题的?– Patrick Freitas 3 月 23 日 18:00 好吧,我并不为我的解决方案感到自豪,但我已将我的掩码声明为初始值为 null 的 BehaviorSubject。我正在等待输入初始化,并根据初始输入值将下一个值(掩码)传递给掩码 BehaviorSubject。如果我使用异步管道订阅掩码值,我可以动态更改它的掩码。所以基本上我没有在init上提供掩码是一种作弊。– 达米安 Kociszewski 3 月 26 日 10:41

__

_

0 投票
1 回答
150 浏览

angular - 有没有办法允许输入点和逗号作为十进制标记?

ngx-掩码具体问题!

有没有办法让用户输入逗号和点作为十进制标记,但将点保持在显示值中,然后修剪千位分隔符?

用户输入“123456,78”,看到“123 456.78”,值为“123456,78”
用户输入“123456.78”,看到“123 345.78”,值为“123456.78”

无法使用 ngx-mask 找到任何方法来实现此结果

提前致谢!

更新:似乎stackoverflow需要一些调试,但我对需要什么信息一无所知,因为我只是看不到任何方法可以实现此功能。好的,我会展示我尝试过的。

我尝试了自定义模式,如下所示:

symbol由于某种原因不起作用,如果您输入逗号,它会保持显示

我尝试了类似的东西[mask]="'0*(,|.)00'",但它根本不起作用

0 投票
0 回答
65 浏览

angular - 带正斜杠的角度 Ngx 掩码

我在一个角度应用程序中使用 ngx-mask,我需要它来允许正斜杠。我花了一天多的时间尝试了 100 件事,但到目前为止没有任何效果。

这是输入字段。

我尝试在 module.ts 文件中添加,这确实允许我在蒙面位置(第 4 个字符和第 11 个字符)输入“破折号”

在现实中,我不关心任何角色强制。如果用户输入了错误的零件编号,那么它就不会返回任何结果。我只需要一个掩码在第 3 个和第 10 个字符之后输入一个“-”,除非他们将其粘贴到该字段中并且此时它应该已经具有“-”。因此,如果有其他选择,我也会接受。

提前致谢。

0 投票
1 回答
71 浏览

javascript - Angular - 将十进制管道应用于输入

我想在输入上应用十进制管道,以便用户在输入时可以看到逗号分隔的数字。我已经尝试过 ngx-mask,但只有在您输入输入时才有效。当您将值修补到输入时,它不会将该值转换为十进制格式。

0 投票
0 回答
20 浏览

angular - 如何使用带有 ngx-mask 的安全输入功能隐藏可变长度字符串中的最后 (n) 个字符?

我尝试了几种不同的排列,但都没有奏效。这是我现在所处的位置:

根据文档,“*”表示掩码字符应该重复,所以我希望“A”(任何字母或数字)重复,然后字符串的最后 4 个字符用“•”隐藏。但我根本无法在该字段中输入任何内容。这大概是因为我使用的是自定义模式,然后需要定义我尝试过的 A,但是“*”似乎不像文档表明,看起来我还需要为它定义一个模式。

我认为理想情况下“A”和“*”将以默认方式工作,我唯一应该定义的模式是 X。

有没有办法实现一个可变长度的字符串,其中最后 4 个字符被隐藏?如“12sd-fd2df••••”?