我有以下代码,正确实现了jQuery(它已经过测试才能运行):
var notrightfake = $("#ansbox").val();
var notright = notrightfake.replace(" ", "");
和$("#ansbox")
是input type="text"
框。但是说我输入He llo t his is m e
,该程序不应该显示Hellothisisme
,而不是根本不工作?
jsFiddle示例:http://jsfiddle.net/WUvu5/
感谢您的支持,
Lucas Chen
答案 0 :(得分:6)
replace
函数仅替换第一次出现的子字符串。
您必须使用正则表达式来替换所有出现的内容:
var notright = notrightfake.replace(/ /g, "");
答案 1 :(得分:1)
您必须进行实际替换,只需将其分配给代码中的变量即可。
var notrightfake = $("#ansbox").val();
$("#ansbox").val(notrightfake.replace(" ", ""));
编辑:您必须在事件中使用它,即。 keyup
$('input').keyup(function(){
var newValue = this.value.replace(/\s/, '');
$(this).val(newValue);
});
答案 2 :(得分:0)
答案 3 :(得分:0)
请尝试以下代码:
var notrightfake = $("#ansbox").val();
var notright = notrightfake.replace(/\s+/g, "");
alert(notright);
或者你可以使用一些修剪功能:
function trim(str) {
return str.replace(/^\s+|\s+$/g,"");
};
function ltrim(str) {
return str.replace(/^\s+/,"");
};
function rtrim(str) {
return str.replace(/\s+$/,"");
};