复杂的字符串操作

时间:2012-02-24 08:40:28

标签: javascript string function

以下是仅输入字母,数字,空格,del,退格的脚本。在此代码中,我需要进行更改,如果第一个位置的“输入”是“空格”并且用户输入中没有其他aphanumeric characters,则应返回false,否则为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>

2 个答案:

答案 0 :(得分:0)

为什么不使用正则表达式?

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

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

答案 1 :(得分:0)

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

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