关于jquery:在javascript字符串之前和之后删除额外空格

Remove Extra Spaces Before and After javascript string

本问题已经有最佳答案,请猛点这里访问。
1
2
3
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/i的片段。它所做的是获取一个输入——然后检查是否匹配。我要解决的问题是,在识别之后或之前是否有空格。

例如,在输入中,有人可以键入'd r'没有问题。如果像'd r'这样添加了一个空格,那么它将不再识别输入。

是否可以采取措施影响输入以确保在单击按钮之前/之后没有空格?我一直在寻找替代品,但似乎不能让它继续下去。

我一直在看的参考:http://www.w3schools.com/jsref/jsref eu replace.asp


你可以用$.trim

1
$.trim(yourstring)

允许跨浏览器兼容性

如果是你的话

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


您可以提前检查:

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

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

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

这样做的好处是,您也可以在代码中的许多其他地方使用此.trim方法。


您可以使用trim()方法。


对跨浏览器执行此操作:

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


使用trim()方法

例子:

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

这将返回:"你好,世界!"


在比较字符串时,应始终使用$.trim()。可以使用$.trim(),如下所示:

1
  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')