复杂的字符串操作

Complex string operation

本文关键字:操作 字符串 复杂      更新时间:2023-09-26

下面是只输入字母、数字、空格、del、退格的脚本。在这段代码中,我需要更改,如果第一个位置的"input"是一个"空白",并且用户输入中没有其他aphanumeric characters,那么它应该返回false else true

JS-

function usrInp(evt) {
var char = (evt.which) ? evt.which : event.keyCode
if (char > 64 && inp < 91 || char > 96 && char < 123 || char > 47 && char < 58 || char     == 127 || char == 8 || char == 32) {
    return true;
}
else {
    return false;
}
}

表单HTML

 <form name="one" id="one">
  <input type="text" name="abc" id="abc" onkeypress="return    usrInp(event)" />
 </form>

为什么不使用regex?

return input.match(/^['w's]*$/g) != null

如果输入仅包含A-Z、0-9、空格或下划线,则返回true。

使用keypress事件不会捕获退格键,需要使用keyup。如果你想获得被按下的键的ascii值,你可以使用:

function usrInp(evt) {
  var char = (evt.which) ? evt.which : event.keyCode
  return String.fromCharCode(char).match(/^[A-Z0-9 _]*$/);
}