react-native-masked-text icon indicating copy to clipboard operation
react-native-masked-text copied to clipboard

Unable to set delimiter in money type as empty string

Open sorakrisc opened this issue 5 years ago • 4 comments

this is what i tried

<TextInputMask
  type={'money'}
  options={{
    precision: 2,
    separator: '',
    delimiter: '',
    unit: '',
    suffixUnit: ''
  }}
  value={this.state.advanced}
  onChangeText={text => {
    this.setState({
      advanced: text
    })
  }}
/>

sorakrisc avatar Dec 04 '19 13:12 sorakrisc

I have the same problem, delimiter: '', returns 1.000

estevanpedro avatar Dec 13 '19 17:12 estevanpedro

what i found out in the source code lib/internal-dependencies/vanilla-masker.js

separator: opts.separator || ",",
delimiter: opts.delimiter || ".",

to make it much more customizable such as an empty string for delimiter and separator should it be

separator: opts.separator == null ? opts.separator :  ",",
delimiter: opts.delimiter == nul ?opts.delimiter : ".",

sorakrisc avatar Dec 17 '19 07:12 sorakrisc

I was able to default the delimiter to an empty string here:

line 27 of vanilla-masker.js

delimiter: opts.delimiter || '',

Then adjust the regEx for clearDelimiter from

line 138 of vanilla-masker.js

clearDelimiter = new RegExp("^(0|\\"+ opts.delimiter +")"),

to

clearDelimiter = new RegExp("^(0|\\_"+ opts.delimiter +")"),

WGoinz avatar Jan 13 '20 22:01 WGoinz

Any plans to fix this?

piotrponikowski avatar Aug 12 '20 10:08 piotrponikowski