可能重复:
查看jQuery输入是否有空格
我没有空格的这段代码。好吧,至少我认为这是注册用户名中没有空格的问题。有人可以帮我将其留空吗?
(function($){
$(function(){
$('#username_reg').keyup(function(){
str = $(this).val(),
str = str.replace(/\s/g,''),
$(this).val(str),
alert('No space are allowed in usernames');
});
});
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
我刚才也尝试了这段代码,没有用:/
$("input#username_reg").on("keydown", function (e) {
return e.which !== 32;
});?
Run Code Online (Sandbox Code Playgroud)
我相信以下代码将满足您的要求:
jQuery(function($){
$('#username_reg').keyup(function(e){
if (e.which === 32) {
alert('No space are allowed in usernames');
var str = $(this).val();
str = str.replace(/\s/g,'');
$(this).val(str);
}
}).blur(function() {
var str = $(this).val();
str = str.replace(/\s/g,'');
$(this).val(str);
});
});
Run Code Online (Sandbox Code Playgroud)
也就是说,在键入键时,如果键是空格,则显示带有消息的警报并删除该空格。而且,在模糊时,请删除字段中可能存在的所有空格-因为用户可以在不使用键盘的情况下复制/粘贴或拖放。
编辑:如果这是我的代码,我可能会完全删除警报-我只是通过event.preventDefault()按下按键来防止输入空格,并且在复制/粘贴的情况下仍会删除模糊的空格。
$('#username_reg').keydown(function(e){
if (e.which === 32) {
e.preventDefault();
}
}).blur(function() {
// for variety's sake here's another way to remove the spaces:
$(this).val(function(i,oldVal){ return oldVal.replace(/\s/g,''); });
});
Run Code Online (Sandbox Code Playgroud)
演示:http://jsfiddle.net/wP8mP/1/
| 归档时间: |
|
| 查看次数: |
5648 次 |
| 最近记录: |