Fixed #531 - inputNumber with numeric prefix is not working as expected

pull/548/head
mertsincan 2020-10-09 11:36:57 +03:00
parent 946e3b2e8d
commit 2bb7300979
1 changed files with 5 additions and 2 deletions

View File

@ -189,6 +189,9 @@ export default {
this.constructParser(); this.constructParser();
} }
}, },
escapeRegExp(text) {
return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
},
getDecimalExpression() { getDecimalExpression() {
const formatter = new Intl.NumberFormat(this.locale, {useGrouping: false}); const formatter = new Intl.NumberFormat(this.locale, {useGrouping: false});
return new RegExp(`[${formatter.format(1.1).trim().replace(this._numeral, '')}]`, 'g'); return new RegExp(`[${formatter.format(1.1).trim().replace(this._numeral, '')}]`, 'g');
@ -219,7 +222,7 @@ export default {
this.prefixChar = formatter.format(1).split('1')[0]; this.prefixChar = formatter.format(1).split('1')[0];
} }
return new RegExp(`${this.prefixChar||''}`, 'g'); return new RegExp(`${this.escapeRegExp(this.prefixChar||'')}`, 'g');
}, },
getSuffixExpression() { getSuffixExpression() {
if (this.props.suffix) { if (this.props.suffix) {
@ -231,7 +234,7 @@ export default {
this.suffixChar = formatter.format(1).split('1')[1]; this.suffixChar = formatter.format(1).split('1')[1];
} }
return new RegExp(`${this.suffixChar||''}`, 'g'); return new RegExp(`${this.escapeRegExp(this.suffixChar||'')}`, 'g');
}, },
formatValue(value) { formatValue(value) {
if (value != null) { if (value != null) {