Javascript 在React js onInput中处理前导空格和特殊字符

Javascript 在React js onInput中处理前导空格和特殊字符,javascript,reactjs,react-redux,Javascript,Reactjs,React Redux,我想防止用户在输入字段中输入多个空格和特殊字符。我已经做到了。。。。。 但当用户粘贴包含多个空格的数据时,它可以粘贴。我想修剪第一个字母开头的空格,只有在用户写东西或粘贴东西的情况下。 我的手柄更改代码如下 handleChange = event => { //Carret Position const caret = event.target.selectionStart; const element = event.target; window.req

我想防止用户在输入字段中输入多个空格和特殊字符。我已经做到了。。。。。 但当用户粘贴包含多个空格的数据时,它可以粘贴。我想修剪第一个字母开头的空格,只有在用户写东西或粘贴东西的情况下。 我的手柄更改代码如下

handleChange = event => {
    //Carret Position
    const caret = event.target.selectionStart;
    const element = event.target;
    window.requestAnimationFrame(() => {
      element.selectionStart = caret;
      element.selectionEnd = caret;
    });
    console.log(event.target.value)
    // Expression to Match every field except Email
    var regExpr = /[^a-zA-Z0-9 ]/g;
    var myValue = event.target.value;
    var myName = event.target.name;

    if (caret == 0 || caret <= 1) {
      myValue = myValue.trim();
    }

    if (myName == "cliaNumber") {
      myValue = myValue ? myValue : "";
      myValue = myValue.trim();
      myValue = myValue.replace(regExpr, "");
    } else if (myName == "email") {
      myValue = myValue ? myValue : "";
      myValue = myValue;
    } else if (myName == "officePhoneNum"){
      myValue = myValue ? myValue : "";
      myValue = myValue;
    }else {
      myValue = myValue.replace(regExpr, "");
    }
    this.setState({
      pModel: {
        ...this.state.pModel,
        [myName]: myValue.toUpperCase()
      }
    });

  };
handleChange=event=>{
//卡雷特位置
常量插入符号=event.target.selectionStart;
常量元素=event.target;
window.requestAnimationFrame(()=>{
element.selectionStart=插入符号;
element.selectionEnd=插入符号;
});
console.log(event.target.value)
//表达式匹配除电子邮件以外的所有字段
变量regExpr=/[^a-zA-Z0-9]/g;
var myValue=event.target.value;
var myName=event.target.name;

如果(插入符号==0 | |插入符号,请正确格式化代码请正确格式化代码