input只允许输入字母、数字

方法一
<input onkeypress="return /[a-z]/i.test(event.key)" >

方法二

<input type="text" name="field" maxlength="8"
    title="Only Letters"
    value="Type Letters Only"
    onkeydown="return alphaOnly(event);"
    onblur="if (this.value == '') {this.value = 'Type Letters Only';}"
    onfocus="if (this.value == 'Type Letters Only') {this.value = '';}"/>


function alphaOnly(event) {

  alert(event);

  var key;

  if (window.event) {
    key = window.event.key;
  } else if (e) {
    key = e.which;
  }
  //var key = window.event.key || event.key;
  alert(key.value);
  return ((key >= 65 && key <= 90) || (key >= 95 && key <= 122));

}

参考链接

 

(keypress)="judgeValueType($event)"

 

 

judgeValueType(event:any){
    console.log(this.defaultValue);
    if(this.valueType=='1'){ //Integer
      return /^-?\d*$/i.test(event.key)
    }else if(this.valueType=='2'){   //Decimal
      return /^-?\d*[.,]?\d*$/i.test(event.key)
    }else if(this.valueType=='4'){   //Boolean
      return ;
    }else if(this.valueType=='6'){   //Money
      return /^-?\d*[.,]?\d{0,2}$/.test(event.explicitOriginalTarget.value)
    }else{
      return ;
    }
    
  }

 

input只允许输入数字

<input formControlName="comparatorValue" (keypress)="validateNum($event)" required trim="blur" >

 

validateNum(event){
    const pattern = /[0-9\+\-\ ]/;
    let inputChar = String.fromCharCode(event.charCode);
    if (event.keyCode != 8 && !pattern.test(inputChar) || event.keyCode == 45) {
      event.preventDefault();
    }
  }

 

posted @ 2021-09-17 22:33  jahoon  阅读(541)  评论(0)    收藏  举报