【问题标题】:Remove Extra Spaces Before and After javascript string [duplicate]删除javascript字符串之前和之后的额外空格[重复]
【发布时间】:2014-06-22 11:41:15
【问题描述】:
var $one = $('#oneClueShow');
    var x = $("#clueOneInput").find('input[type=text]').val();
    if(x == 'D R' || x == 'd r'|| x == 'D r'|| x == 'd R'|| x == 'd'|| x == 'r' || x == 'd R' || x == 'T A')

上面是我拥有的 java/ 的 sn-p。它所做的是接受输入——然后检查匹配。我要解决的错误是它之后或之前是否有空格无法识别。

例如,在输入中有人可以输入“D R”没有问题。如果像“D R”这样添加空格,则它不再识别输入。

我可以做些什么来影响输入以确保在单击按钮之前/之后没有空格?我一直在寻找替换,但似乎无法实现。

我一直在看的参考资料:http://www.w3schools.com/jsref/jsref_replace.asp

【问题讨论】:

    标签: javascript jquery input


    【解决方案1】:

    您可以使用$.trim

    $.trim(yourstring)
    

    这将允许跨浏览器兼容性

    在你的情况下

    var x = $.trim($("#clueOneInput").find('input[type=text]').val());
    

    【讨论】:

    • 我的字符串还是输入的字符串?
    • @user3135730 要删除前后空格的字符串
    • 可能要提一下,这需要jQuery
    • @ScottGress 我认为他已经拥有它,因为他标记了 jQuery:P
    • 我已经有了。我只是想弄清楚这里的修剪关系。关于在哪一点需要进行修剪。在输入或下面是我想弄清楚的。感谢您提供此信息。 D R ect 是我设置的变量,而不是输入。如果这有意义
    【解决方案2】:

    使用trim() 方法

    例子:

    var str = "       Hello World!        ";
    alert(str.trim());
    

    这将输出:

    世界你好!

    var str = "       Hello World!        ";
    alert(str.trim());

    【讨论】:

      【解决方案3】:

      您可以使用trim() 方法。

      【讨论】:

      • 并非所有浏览器都支持 - 但这主要是 IE8 及更低版本
      【解决方案4】:

      为跨浏览器执行此操作:

      var x = $("#clueOneInput").find('input[type=text]').val().replace(/^\s+|\s+$/g,"");
      

      【讨论】:

      • Amit 我不确定我是否理解您的评论的意思。你能扩展吗?
      • @user3135730,我的意思是这是一个更可靠的解决方案。
      【解决方案5】:

      您可以事先进行检查:

      if (!String.prototype.trim) {
        String.prototype.trim = function () {
          return this.toString().replace(/^\s+|\s+$/g, '');
        };
      }
      

      将在不受支持的浏览器中启用.trim。然后,您可以像这样使用它:

       var x = $("#clueOneInput").find('input[type=text]').val().trim();
      

      您也可以在代码中的许多其他位置使用此 .trim 方法。

      【讨论】:

        【解决方案6】:

        在比较字符串时,您应该始终使用 $.trim()。您可以像这样使用 $.trim():

          if($.trim(x) == 'D R' || $.trim(x) == 'd r'|| $.trim(x) == 'D r'|| $.trim(x) == 'd R'|| $.trim(x) == 'd'|| $.trim(x) == 'r' || $.trim(x) == 'd R' || $.trim(x) == 'T A')
        

        【讨论】: