我有以下代码: -
/*****html*********/
<input type="text" id="firstname">
/******jquery********/
$(document).ready(function(){
$("#firstname").keyup(function(){
var text=$(this).val();
$(this).val(text.replace(/[^\s((a-zA-Z))]/g,''));
});
});
我不想在输入框中输入任何空格。上面的代码但是没有工作。我的代码有问题。请帮忙。
答案 0 :(得分:2)
$('#firstname').keypress(function( e ) {
if(e.which === 32)
return false;
});
如果有空格,可以防止按键。所以没有人可以输入它。
答案 1 :(得分:2)
你的正则表达式错了。请查看此https://jsfiddle.net/w1uqqsc3/
$(this).val(text.replace(/[\s((0-9))]/g,''));
将此应用用于正则表达式http://regexr.com/
在那里你可以找到有关正则表达式的参考资料。
答案 2 :(得分:0)
为我工作
$("#firstname").keyup(function(){
var text=$(this).val();
$(this).val(text.replace(/[^(a-zA-Z)]/g,''));
});
答案 3 :(得分:0)
如果您在keyup事件期间尝试进行替换,则在尝试编辑文本时可能会遇到光标跳转问题。
我更愿意允许他们输入他们想要的内容并在更改事件期间清理文本,如下所示(这也适用于复制粘贴方案):
$(document).ready(function(){
$("#firstname").change(function(){
var text=$(this).val();
$(this).val(text.replace(/\s/g,''));
});
});