在添加到选择框之前去除字符串中的空格

Stripping whitespaces in string before adding to select box

本文关键字:字符串 空格 添加 选择      更新时间:2023-09-26

我需要你的帮助,

在将数据字符串添加到我的选择框中之前,我似乎无法去除它们中的空格。

(顺便说一句,数据字符串之间的空格是故意的,因为我正在使用旧数据集并将其慢慢转换为非空间字符串(

你是如何做到这一点的?我以为我的逻辑没问题:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function parseData() {
    var data = "1234567, 8910111, 9632587,6541237,9631478, 1010232"
    var options = data.split(",");
    var select = document.getElementById('list')
    select.innerHTML = ""
    for(var i=0; i<options.length; i++)
      select.options[i] = new Option(options[i], i);
}
</script>
</head>
<body>
<input type="button" value="load list" onclick="parseData()"/>
<br>
<select id="list"></select>
</body>
</html>

您可以在填充选择器时修剪空格:

options[i].replace(/^'s+|'s+$/g, '')

jsfiddle在这里。

不需要正则表达式,请使用Options[i].trim()(trim 删除字符串两个站点上的任何空格(包括换行符、制表位等(

for(var i=0; i<options.length; i++)
  select.options[i] = new Option(options[i].trim(), i);

试试这个:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function parseData() {
    var data = "1234567, 8910111, 9632587,6541237,9631478, 1010232"
    var options = data.split(",");
    var select = document.getElementById('list')
    select.innerHTML = ""
    for(var i=0; i<options.length; i++)
      select.options[i] = new Option(options[i].replace(" ", ""), i); // cross browser
      // or this one
      //select.options[i] = new Option(options[i].trim(), i); // ie9+ and all other browsers
}
</script>
</head>
<body>
<input type="button" value="load list" onclick="parseData()"/>
<br>
<select id="list"></select>
</body>
</html>