Tag: validationrules

Javascript Regex将文本字段限制为仅限数字(必须允许不可打印的键)

我收到了以前开发人员的PHP / JS代码,我需要在手机号码字段中添加号码validation。 我已经有了HTMLvalidation,但是我需要添加一个,如果有人按下了无效的密钥,它不会显示只是为了稍后用红色突出显示该字段,因为它包含无效的输入。 我已经看过很多正则表达式并且尝试了它们,但是它们或者我需要的效果是:如果输入了字母或特殊字符,不接受也不显示,所有其他输入(数字,键)被接受(我需要根本不显示无效字符,不显示然后删除)。 现在最有效的正则表达式是这样的: function filterNonDigits(evt) { var event = evt || window.event; var keyentered = event.keyCode || event.which; keyentered = String.fromCharCode(keyentered); //var regex1 = /[0-9]|\./; var regex2 = /^[a-zA-Z.,;:|\\\/~!@#$%^&*_-{}\[\]()`”‘?\s]+$/; if( regex2.test(keyentered) ) { event.returnValue = false; if(event.preventDefault) event.preventDefault(); } 当我使用注释的regex1(IF条件反转)时,自然它将输入限制为只有数字,从而阻止所有键,如Delete,BackSpace等。当使用regex2时,我仍然无法按下删除或小键盘上的数字。 所以我的问题是,上面的代码可以修改为只接受数字而且还允许键吗? 另一个重要的一点是,我需要一种不对这些键使用键码(8,24等)的方法,以确保可以使用所有键盘类型。 新更新: 所以我的解决方案如下:如果存在“oninput”属性,我使用Ehtesham提供的解决方案,如果不存在,则备份使用Rohan Kumar提供的解决方案。 所以它是这样的: if (obj.hasOwnProperty(‘oninput’) || (‘oninput’ in obj)) […]