8

我已经搜索了很多,但找不到我正在尝试做的具体示例。基本上我想通过文本框的名称(不是 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,但事实并非如此。在查看了这个从文本字段内容中删除空格的正常正则表达式后,它不起作用,我相信它是因为它被填充在 Web 服务器上的波兰语本地化设置中。可以这么说,我需要为“波兰空间”捕获什么 \u char/regex exp,在 ascii 中它出现为 20,但大多数人建议用于空间的 regex exp 没有捕获它。

4

7 回答 7

13

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

var el = document.getElementsByName("10010input")[0];
var val = el.value.replace(/\s/g, "");
alert(val);
于 2010-10-18T15:37:30.137 回答
6

您需要“概括”您正在使用的正则表达式,以便将其应用于所有匹配项,而不仅仅是第一个匹配项。像这样:

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

请注意修改正则表达式的“g”,使其变为“通用”。

于 2010-10-18T15:37:37.950 回答
5

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

function removeSpaces(val) {
   return val.split(' ').join('');
}
于 2010-11-19T18:47:20.260 回答
4

另一个更 jQuery'ish 的选项:

$(".stripspaces").keyup(function() {
    $(this).val($(this).val().replace(/\s/g, ""));
});
于 2013-02-06T15:35:36.097 回答
3

试试这个:- 您可以尝试写入或复制粘贴任何字符串,包括空格,它会自动删除。

/* 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>

于 2019-02-11T12:05:28.600 回答
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>
于 2015-09-29T08:13:53.687 回答
0

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

于 2010-10-19T08:27:06.570 回答