【问题标题】:jQuery TRIM space between 2 alphabets or words2个字母或单词之间的jQuery TRIM空间
【发布时间】:2014-03-15 13:21:06
【问题描述】:

我想删除单词开头和结尾的空格。 2个单词之间也应该只有1个字符空间。我使用下面的代码,但它只删除第一个单词开头和结尾的空格。如何删除两个单词之间的多余空格。

jQuery 修剪

var fullname= jQuery('#fullname').val();
    fullname= jQuery.trim(fullname);

if(fullname.length == 0) {
   var error = true;
   jQuery('#fullname_error').fadeIn(500);
   } else {
   jQuery('#fullname_error').fadeOut(500);
}

PHP 修剪

 $fullname = mysql_real_escape_string(trim($_POST["fullname"]));

【问题讨论】:

  • jquery 和 PHP trim 函数都会删除字符串开头和结尾的 while 空格。不知道你得到了什么。
  • @AbhikChakraborty 是的,现在它可以用于开头和结尾的空白,但是有没有办法修剪两个单词之间的额外空格?

标签: php jquery trim


【解决方案1】:

你可以使用 preg_replace()

preg_replace('/ {2,}/', ' ', $string);

此代码将找到任何长度超过 2 的空格序列并将其替换为一个空格

更新:也可以使用 JavaScript 原生函数替换:

string.replace(/ {2,}/, ' ');

【讨论】:

    【解决方案2】:

    有没有办法修剪两个单词之间的多余空格?

    是的。

    var str = "foo    bar   etc";
    str = $str.replace(/\b\s{2,}\b/g, ' ');
    

    或者在 PHP 中

    $str = preg_replace('/\b\s{2,}\b/', ' ', $str);
    

    【讨论】:

    • 我尝试了您的 PHP 代码,但它删除了两个单词之间的所有空格。我需要至少 1 个字符空间。谢谢你的回答。
    【解决方案3】:

    这里是用于修剪的字符串原型。

    String trim prototypes

    在您的代码中包含以下定义。

    String.prototype.fulltrim=function(){return this.replace(/(?:(?:^|\n)\s+|\s+(?:$|\n))/g,'').replace(/\s+/g,' ');};
    

    然后在您的代码中使用“fulltrim”而不是“trim”。 'fulltrim' 将同时删除前面、结尾和中间的空格。

    这是一个例子Plunker

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-01
      • 1970-01-01
      • 2020-01-14
      • 2019-09-25
      • 2017-06-18
      • 1970-01-01
      • 2021-01-27
      相关资源
      最近更新 更多