Input mask with thousand separator ionic 3(带有千位分隔符的输入掩码 ionic 3)
问题描述
我需要一个 thousand separator input mask 指令或 Ionic 3 应用程序.我尝试了 2 个指令.但他们都没有工作.你知道这方面的工作指令吗?
I need a thousand separator input mask directive or else with Ionic 3 app. I have tried 2 directives. But none of them were working. Do you know working directive for that?
例如50,000
.html
<ion-input type="tel" [ngModel]="data?.budget" formControlName="budget" (ngModelChange)="data.budget=$event"></ion-input>
我在 Git 上记录了问题.也请看:
I have logged issues on Git. please see that too:
文本掩码问题
ng2-currency-mask 问题强>
推荐答案
这是我的格式化版本,也适用于 ionic.
Here is my version of formatting that works on ionic too.
打字稿:
format(valString) {
if (!valString) {
return '';
}
let val = valString.toString();
const parts = this.unFormat(val).split(this.DECIMAL_SEPARATOR);
return parts[0].replace(/B(?=(?:d{3})+(?!d))/g, this.GROUP_SEPARATOR) + (!parts[1] ? '' : this.DECIMAL_SEPARATOR + parts[1]);
};
unFormat(val) {
if (!val) {
return '';
}
val = val.replace(/^0+/, '');
if (this.GROUP_SEPARATOR === ',') {
return val.replace(/,/g, '');
} else {
return val.replace(/./g, '');
}
};
HTML:
<ion-input [(ngModel)]="budget" pattern="^[$-s]*[d,]*?([.]d{0,10})?s*$"
style="border:1px solid black" #myBudget="ngModel" (input)="budget = format(budget)"></ion-input>
<p style="color:red" *ngIf="myBudget.errors && myBudget.errors?.pattern">Enter numbers only</p>
它需要在错误管理和货币添加方面进行一些改进(它接受前导$"符号).我将正则表达式设置为接受小数点后 10 位的数字.
It need some improvements in error management and currency addition (it accepts leading '$' sign). I set the regexp to accept numbers with 10 decimals.
演示
如果您不希望输入小数而只输入数字,则此 DEMO 展示了如何.
If you wish no decimals and only numeric input, this DEMO shows how.
这篇关于带有千位分隔符的输入掩码 ionic 3的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:带有千位分隔符的输入掩码 ionic 3
基础教程推荐
- Javascript 在多个元素上单击事件侦听器并获取目标 2022-01-01
- 如何在特定日期之前获取消息? 2022-01-01
- Node.js 有没有好的索引/搜索引擎? 2022-01-01
- WatchKit 支持 html 吗?有没有像 UIWebview 这样的控制器? 2022-01-01
- 每次设置弹出窗口的焦点 2022-01-01
- 为什么我在 Vue.js 中得到 ERR_CONNECTION_TIMED_OUT? 2022-01-01
- 如何使用 CSS 显示和隐藏 div? 2022-01-01
- 如何使用sencha Touch2在单页中显示列表和其他标签 2022-01-01
- jQuery File Upload - 如何识别所有文件何时上传 2022-01-01
- 什么是不使用 jQuery 的经验技术原因? 2022-01-01
