如何停止在输入的按键上允许特殊字符

时间:2019-03-19 17:24:09

标签: javascript reactjs special-characters keypress

我在下方输入

handleNameChange(event = {}) {
        console.log('event', event);
        this.setState({ reportCalculationName: event.target.value });
    }

onKeyPress(event) {
    let character = event.keyCode;
    console.log('character', character);
}


<div className="col-md-4">
   <label className="col-md-5">Calculation Name:</label>
    <input type="text" className="" id="calculation-name" title="Name" 
          onChange={this.handleNameChange} 
           value=this.state.reportCalculationName } onKeypress={this.onKeyPress}/>
  </div>

当我输入一些特殊字符时,甚至没有触发keypress事件。我想停止在我的react组件的输入字段中允许',。''| / + =]这些字符

1 个答案:

答案 0 :(得分:0)

您可以使用event.preventDefault()取消按键事件。

伪代码:

onKeyPress(event) {
    var key = window.event ? event.keyCode : event.which;
    if (key === [enter your value here]) {
        event.preventDefault(); <=== this will cancel the input
    } else {
       return true;
    }
    console.log('character', character);
    return false;
}

您可以在此处找到更多信息:

C OpenSSL export private key