Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 只允许某些字符_Javascript - Fatal编程技术网

Javascript 只允许某些字符

Javascript 只允许某些字符,javascript,Javascript,我正在创建表单,我希望验证KeyPress上的输入字段。我设法找到了JavaScript,将字段限制为只允许输入数字。现在我正试图修改代码,使其只允许字母和连字符 我只允许数字的代码如下 function isNumber(evt) { evt = (evt) ? evt : window.event; var charCode = (evt.which) ? evt.which : evt.keyCode; if (charCode &

我正在创建表单,我希望验证KeyPress上的输入字段。我设法找到了JavaScript,将字段限制为只允许输入数字。现在我正试图修改代码,使其只允许字母和连字符

我只允许数字的代码如下

     function isNumber(evt) {
        evt = (evt) ? evt : window.event;
        var charCode = (evt.which) ? evt.which : evt.keyCode;
        if (charCode > 31 && (charCode < 48 || charCode > 57)) {
            return false;
        }
        return true;
   }
函数isNumber(evt){
evt=(evt)?evt:window.event;
var charCode=(evt.which)?evt.which:evt.keyCode;
如果(字符码>31&(字符码<48 | |字符码>57)){
返回false;
}
返回true;
}
我将如何调整和更改此设置,以只允许使用字母和连字符

如果以前有人问过这个问题,我很抱歉,但我所能找到的就是使用Jquery等来解决这个问题,如果可以的话,我想尽量避免这个问题


提前感谢

使用这样的关键事件是个坏主意,因为可以输入值而不发送合适的事件,这对用户来说非常烦人。你只关心当它被发送到服务器或任何地方时的值,所以让用户创建一个适合他们的有效值,然后在它需要有效的时候验证它。考虑<代码>![^a-z\-]/i.test(字符串);-)
var myRegex = /^[A-Za-z\-]+$/;

myRegex.test('hello'); //true
myRegex.test('asdasd-adasd'); //true
myRegex.test('123as'); //false