用于从文本框值中删除空格的Javascript

时间:2010-10-18 15:31:37

标签: javascript whitespace spaces

我经常搜索这个,但找不到我想要做的具体例子。基本上我想通过文本框的名称(而不是id)获取文本框的值。然后我想删除所有空格,不仅仅是前导或尾随,还要删除文本中的空格。例如,这个HTML代码:

<INPUT style="TEXT-ALIGN: right;" onkeyup="fieldEdit();" onchange="fieldChange();" NAME="10010input" VALUE="4 376,73" readonly >

我有这个javascript:

var val = document.CashSheet.elements["10010input"].value; 
val2 = val.replace(<someregex>, '');
alert(val2);

但我已经尝试了许多可用的正则表达式删除所有空格,但似乎只删除了前导空格和尾随空格,例如4 376,73以上的值应该在上面的警告中读作4376,73,但它没有“T。在查看这个正常的正则表达式以从文本字段中删除空格后,内容不起作用,我相信它,因为它在Web服务器上的波兰语本地化设置中填充。什么\ u char / regex exp我需要捕获一个“波兰空间”可以这么说,在ascii中它出现为20但正则表达式大多数人建议空间不能捕获它。

7 个答案:

答案 0 :(得分:8)

只要页面中没有其他元素具有相同的名称,您就可以使用document.getElementsByName来获取元素而无需浏览表单。要替换所有空格,只需使用带有在元素值的replace()方法中设置的全局标志的正则表达式:

var el = document.getElementsByName("10010input")[0];
var val = el.value.replace(/\s/g, "");
alert(val);

答案 1 :(得分:6)

你需要“概括”你正在使用的正则表达式,因此它适用于所有匹配而不是第一次匹配。像这样:

val = val.replace(/\s/g, '')

注意修改regexp的'g',使其变为“general”。

答案 2 :(得分:3)

这是我用来替换空格的函数。

function removeSpaces(val) {
   return val.split(' ').join('');
}

答案 3 :(得分:3)

另一个更多jQuery'ish选项:

$(".stripspaces").keyup(function() {
    $(this).val($(this).val().replace(/\s/g, ""));
});

答案 4 :(得分:2)

试一下

<script language="JavaScript">
function RWS(str){
  return str.replace(/^\s+/,"").replace(/\s+$/,"").replace(/\s+/g," ");
}
</script>

<form name=f1ex>
<textarea name="t2" rows="5" onChange="this.value=RWS(this.value)"></textarea>
</form>

答案 5 :(得分:1)

尝试以下操作:- 您可以尝试写入或复制粘贴包括空格在内的任何字符串,它会自动删除。

/* Not Allow Spcace Type in textbox */
function AvoidSpace(event) {
    var k = event ? event.which : window.event.keyCode;
    if (k == 32) return false;
}

/* Remove Blank Space Automatically Before, After & middle of String */

function removeSpaces(string) {
 return string.split(' ').join('');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<form>
<input placeholder="Enter Your Text" type="text" onkeypress="return AvoidSpace(event);" onblur="this.value=removeSpaces(this.value);">


</form>

答案 6 :(得分:0)

你可以使用这个jQuery方法http://api.jquery.com/jQuery.trim/
val = $.trim(val);val = jQuery.trim(val);