【问题标题】:$.trim spaces at beginning and end of text input value$.trim 文本输入值开头和结尾的空格
【发布时间】:2012-11-20 18:13:42
【问题描述】:

所以我试图在文本输入值之前和之后修剪任何空格...

有什么想法吗?使我抓狂。我尝试阅读$.trim()。但不能让它正常工作。

代码:

var campaign_values = {
        name : $.trim($('.nameField').val().toLowerCase().replace(/\s/g, "_")),
        // other variables...
};

【问题讨论】:

  • $.trim函数如何使用?
  • 您是否有空白问题。 .trim() 删除输入开头和结尾的空格,我从来没有遇到过文本字段的这个问题。你能告诉我们你是如何实现代码的吗?
  • 把它包裹在整个 $().val() 变量周围...
  • 您的内部 .replace() 正在删除所有空格(并用 _ 替换它们,这会阻止 $.trim() 删除任何内容

标签: jquery


【解决方案1】:

不确定您在使用 trim 时遇到了什么问题,但您应该可以像这样使用它:

var campaign_values = {
        name : $.trim($('.nameField').val()).toLowerCase().replace(/\s/g, "_"),
        // other variables...
};

虽然在这种情况下,我认为使用javascripttrim()更清晰

var campaign_values = {
        name : $('.nameField').val().trim().toLowerCase().replace(/\s/g, "_"),
        // other variables...
};

【讨论】:

  • 第一个由于某种原因无法工作,但我让第二个工作!谢谢!!发誓我试过这个......选项#2更干净!干杯!
  • 第一个不做任何事情,因为您首先用"_" 替换所有空格(包括开头和结尾)。应该是$.trim($('.nameField').val()).toLowerCase().replace(/\s/g, "_") IE 6/7/8 是否支持原生 .trim() 方法?根据 IE9 开始的 MDN 支持developer.mozilla.org/en-US/docs/JavaScript/Reference/…
  • @KevinB 凯文,你是对的。在写下我的答案时,我并没有真正仔细查看那里的替换调用。我已经编辑以反映这一点。
【解决方案2】:

在调用replace函数之前尝试使用$.trim

name : $.trim($('.nameField').val()).toLowerCase().replace(/\s/g, "_"),

【讨论】:

  • 我也喜欢这个选项...但是选择了.val().trim()... 选项。更干净,更容易阅读!谢谢!
  • @MikeBarwick 不客气,请注意 trim 不适用于旧版浏览器。
【解决方案3】:

标准的 JavaScript String.trim() 将从字符串中删除开头和结尾的空格。

"   string  ".trim() ==  "string"

【讨论】:

  • .trim() 并非在所有浏览器中都实现,所以要小心(这个我最近得到了)
猜你喜欢
  • 2016-04-06
  • 2019-05-29
  • 2023-04-09
  • 1970-01-01
  • 2016-03-29
  • 1970-01-01
  • 2019-04-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多