如何使用jQuery删除大写单词之间的空格?

时间:2012-09-05 02:20:06

标签: jquery

我的选项中有以下内容:

<option value="Kabardino-Balkar Republic">Kabardino-Balkar Republic</option>
<option value="Karachay-Cherkess Republic">Karachay-Cherkess Republic</option>
<option value="Karelia Republic">Karelia Republic</option>
<option value="Komi Republic">Komi Republic</option>
<option value="Mari El Republic">Mari El Republic</option>
<option value="Mordovia Republic">Mordovia Republic</option>

..我希望它们采用以下格式:

<option value="Kabardino-BalkarRepublic">Kabardino-Balkar Republic</option>
<option value="Karachay-CherkessRepublic">Karachay-Cherkess Republic</option>
<option value="KareliaRepublic">Karelia Republic</option>
<option value="KomiRepublic">Komi Republic</option>
<option value="MariElRepublic">Mari El Republic</option>
<option value="MordoviaRepublic">Mordovia Republic</option>

如何在保持连字符完整的同时删除value属性中大写单词之间的空格?

3 个答案:

答案 0 :(得分:5)

$('option').val(function(i, val){
  return val.split(" ").join("")
})

答案 1 :(得分:2)

只需使用正则表达式替换字符串吗?

$('option').each(function(){
   var $this = $(this);
   $this.val($this.val().replace(/\s/g,'')); // <-- replace a space with no space
});​

http://jsfiddle.net/XgNJV/

答案 2 :(得分:0)

这里我为上述问题做过垃圾箱。你也可以查看演示链接。

演示: http://codebins.com/bin/4ldqp7o

<强> HTML

<select id="demo">
  <option value="Kabardino-Balkar Republic">
    Kabardino-Balkar Republic
  </option>
  <option value="Karachay-Cherkess Republic">
    Karachay-Cherkess Republic
  </option>
  <option value="Karelia Republic">
    Karelia Republic
  </option>
  <option value="Komi Republic">
    Komi Republic
  </option>
  <option value="Mari El Republic">
    Mari El Republic
  </option>
  <option value="Mordovia Republic">
    Mordovia Republic
  </option>
</select>

<强>的jQuery

$(function() {
    $("#demo option").each(function() {
        var $option = $(this);
        $option.val($option.val().replace(/([A-Za-z0-9-_])\s([A-Z]{1})/g, '$1$2'));
    });
});

演示: http://codebins.com/bin/4ldqp7o