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

时间:2013-08-14 19:13:08

标签: javascript regex

我需要你的帮助,

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

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

你是如何做到这一点的?我以为我的逻辑很好:

<!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>

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

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

jsfiddle是here

答案 2 :(得分:0)

试试这个:

<!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>