如何使输入字段接受javascript中的字母数字数据

How to make an input field accept alphanumeric data in javascript

本文关键字:数字 数据 javascript 输入 何使 字段      更新时间:2023-09-26

我希望(使用javascript)下面的输入字段只接受字母和数字的组合,否则显示消息。它只在空的情况下显示消息。似乎出了什么问题,我也不太清楚。

<script type='text/javascript'>
  function isAlphanumeric(elem, msg){
   var alNumeric = /^[0-9a-zA-Z]+$/
   if(elem.value.match(alNumeric)){
   }else{  
     alert(msg)
     elem.focus()
     return false
   }
  }
</script>
<form>
  <input type ='text' id ='letter_number'/>
  <input type ='button' onclick ="isAlphanumeric(document.getElementById('letter_number'), 'Enter a mix of letter and num pls')" value ='letter_number'/>
</form>

您需要的是一些断言(Javascript中只支持前瞻性),如下所示:

var alNumeric = /^(?=.*?'d)(?=.*?[a-zA-Z])['da-zA-Z]+$/

断言(?=.*?'d)首先检查字符串中是否有digit,如果满足,则转到下一个断言(?=.*?[a-zA-Z]),检查是否存在任何字母字符。如果是,请转到仅匹配字母数字字符的下一个表达式['da-zA-Z]+