我正在从事Angular 7项目。我有在config.json文件中配置的正则表达式。
我希望通用过滤器解决方案将数据与正则表达式匹配,并显示数据出价与正则表达式一样。
示例:
如果正则表达式为:[0-9],\ d,\ d,-,[0-9],\ d,\ d,\ d,\ d,\ d,-,[0-9],\ d ,\ d
数据:123456789321
输出应为:123-456789-321
如果正则表达式为:[0-9],\ d,\ d,-,[0-9],\ d,\ d
数据:123456
输出应为:123-456
答案 0 :(得分:0)
编辑: 定期尝试https://www.npmjs.com/package/ngx-mask。
data = '123456789321';
constructor() {
}
ngOnInit() {
this.getStr('[0-9],\d,\d,-,[0-9],\d,\d,');
this.getStr('[0-9],\d,\d,-,[0-9],\d,\d,\d,\d,\d,-,[0-9],\d,\d,');
}
getStr(regStr) {
const parts = regStr.split('-,');
let prevLen = 0;
let str = '';
parts.forEach((part, index) => {
let len = part.split(',').length - 1;
str = index === 0 ? `${this.data.substr(prevLen, len)}` : `${str}-${this.data.substr(prevLen, len)}`
prevLen = prevLen + len;
})
console.log(str);
}