我正在创建一个网页,其中我有一个输入文本字段,其中我只允许数字字符,如(0,1,2,3,4,5 ... 9)0-9.
我怎么能用jQuery做到这一点?
我将此解决方案调整为脚本。这样做的目的是防止用户键入未经授权的字符(当然,后端也有一个过滤器)。
$('#someinput').keyup(function() {
var $th = $(this);
$th.val( $th.val().replace(/[^a-zA-Z0-9]/g, function(str) {
console.log(str);
return '';
}))
})
Run Code Online (Sandbox Code Playgroud)
它很好用,但是我还需要用户输入允许的特定字符,例如:。,!??ñáéíóú-我的意思是,基本a-zA-Z0-9加上一些基本字符和一堆特殊语言字符。
实际需要忽略的是:@#$%^&*()= _ +“':; / <> \ | {} []
有任何想法吗?谢谢!
解决方案感谢迈克尔
//query
$('#someinput').keyup(function() {
var $th = $(this);
$th.val($th.val().replace(/[@#$%\^&*()=_+"':;\/<>\\\|{}\[\]]/g,function(str){return '';}));
}).bind('paste',function(e) {
setTimeout(function() {
$('#someinput').val($('#someinput').val().replace(/[@#$%\^&*()=_+"':;\/<>\\\|{}\[\]]/g,function(str){return '';}));
$('#someinput').val($('#someinput').val().replace(/\s+/g,' '));
},100);
});
Run Code Online (Sandbox Code Playgroud) 我正试图找到一种方法来验证按键上的文本输入,我想只在我的文本输入中包含数字,包括小数.
我正在采用jQuery.keydown的方法,检查密钥是什么,如果密钥不在允许列表中,则使用event.preventDefault().但从那时起我就已经知道密钥在整个浏览器中并不一致,而且我也担心不同的操作系统.
我遇到过这个问题,但是我不能流利使用正则表达式并且不确定这是否符合我的需求: jquery - 验证按键上的字符?
使用该方法,当键入00时,期望00.00的正则表达式将停止用户,因为在加密时检查正则表达式.
谢谢
jquery ×3
javascript ×2
regex ×2
validation ×2
filter ×1
html ×1
keydown ×1
keyup ×1
numeric ×1