【问题标题】:Javascript remove spaces not working in IE8Javascript 删除在 IE8 中不起作用的空格
【发布时间】:2011-05-06 06:00:57
【问题描述】:

我的 php 文件中有一个选择列表:

<select onchange="storePolishType(this.value,this.options[this.selectedIndex].text);" class="drop_down1">
<option value="10">BRP</option>           
<option value="10">Polished Ends</option>           
<option selected="selected" value="11">Sawed Ends</option>            
<option value="10">Steeled Ends</option>                    
</select> 

我在 java 脚本文件中有一个 storePolishType 函数。在该函数中,我尝试删除字符串前后的空格:

function storePolishType(pTypeID,bottom_polish_name)
{
    if(typeof bottom_polish_name != 'undefined')
    {
        bottom_polish_name = bottom_polish_name.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
    }
} 

它在 Firefox 中运行良好,但在 IE8 中无法运行。我也试过jquery的$.trim()函数,在IE8下也不行。

请帮我解决这个问题。

【问题讨论】:

  • 嗯.....适合我吗?不明白为什么你需要两个\s 而不是一个,但除此之外似乎没有任何问题。你是如何调用函数的?
  • 能否请您再试一次以使其可读的格式?请参阅问题文本框右侧的方便如何格式化框,以及问题区域上方[?]中的the page linked编辑:@bdares 在这个场合为你做了这件事。
  • 请记住,有时特殊字符无法被 javascript 识别并引发错误。
  • onchange 选择列表我调用了函数 storePolishType 和选定的值和文本。
  • 请帮我解决这个问题。

标签: javascript spaces


【解决方案1】:

试试这个:

function trim(s){
    if(typeof(s) === 'undefined'){return;}
    return s.replace(/^\s+|\s+$/g,"");
}

如果你想使用你的函数,你可以输入 " " 而不是 \s 并尝试它。

【讨论】:

  • 我刚刚测试了它,它不起作用。显然它在 Visual Studio 2015 中运行良好,但在 IE8 下运行良好。
猜你喜欢
  • 1970-01-01
  • 2021-03-13
  • 2012-09-12
  • 1970-01-01
  • 1970-01-01
  • 2010-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多