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