简体   繁体   English

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

[英]How to stop allowing of special characters on keypress of input

I have below input 我有以下输入

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 event is not even firing when I enter some special charcaters.I want to stop allowing `,."'|/+=] these characters in my input field in my react component 当我进入一些特殊的charcaters时,Keypress事件甚至没有触发。我想在我的反应组件的输入字段中停止允许`,。“'| / + =]这些字符

You can use event.preventDefault() to cancel the keypress event. 您可以使用event.preventDefault()取消keypress事件。

PseudoCode: 伪代码:

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;
}

You can find more information here: 您可以在这里找到更多信息:

https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM