1

I am using an input type text and i want to restrict the input box to only numbers and first 3 numbers of input box are default numbers like 750

I tried regex but its not working

Here is my HTML Code:

<input custom="full-width" autoComplete="off" placeholder="optional" type="text"  value={DFAmngt['item']} name="DFAmngt" pattern="[0-9]*" onChange={this.searchPartSuggestions.bind(this)} required  disabled={statusCancelled}/> &nbsp;

JS Code:

    let { name, value } = e.target;
      let { masterData, masterDataReducer } = this.props;
      console.log(masterData,masterDataReducer);
      let { DFAmngt } = masterDataReducer;
      console.log(DFAmngt);
      const re = /^[0-9\b]+$/;
      if (value === '' || re.test(value)) {
        DFAmngt['item'] = value;
        // DFMMannualIssue[name+"Error"]='';
        console.log(DFAmngt['item']);
      }

      masterData[name] = value;
      if(name === 'DFAmngt'){masterDataReducer[name]['item'] = value;}else{masterDataReducer[name] = value; }
      // this.props.updateMasterData(masterData,"masterData");
      this.props.updateMasterReducer(masterDataReducer);
      this.props.partSuggestions(value,name);
  }
SATYA
  • 25
  • 4

1 Answers1

0

This solution doesn't allow negative numbers, e, +, - etc. Reference

<input type="number" name="test_name" min="0" oninput="validity.valid||(value='');">
tarzen chugh
  • 10,561
  • 4
  • 20
  • 30