jQuery TRIM两个字母或单词之间的空间


jQuery TRIM space between 2 alphabets or words

我想删除单词开头和结尾的空白。另外,两个单词之间应该只有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"]));

可以使用preg_replace()

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

此代码将找到任何大于2的空格序列并将其替换为一个空格

upd:也可以使用JavaScript原生函数replace:

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

是否有一种方法来修剪两个单词之间的额外空间?

是的。

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

或者在PHP中

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

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

字符串装饰原型

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

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

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

下面是一个例子Plunker