我做了一些服务器请求,服务器用字符串前面有很多空格的字符串回复我。字符串是USERNAME EXIST
我知道如何使用它:
String.prototype.killWhiteSpace = function() {
return this.replace(/\s/g, '');};
String.prototype.reduceWhiteSpace = function() {
return this.replace(/\s+/g, ' ');};
但第一个第一个回答我USERNAMEEXISTS,第二个回答“USERNAME EXIST”(在字符串前面有一个空格)。 有没有办法杀死字符串前后的所有空格?
答案 0 :(得分:1)
使用^
匹配字符串的开头,使用$
匹配正则表达式中的结尾:
String.prototype.killWhiteSpace = function() {
return this.replace(/^\s*|\s*$/g, '');
};
通常剥离空格称为trim ming,并且已在现代浏览器中本机实现。所以你可能想用这个:
String.prototype.trim = String.prototype.trim ||
function() {
return this.replace(/^\s*|\s*$/g, '');
};
如果trim尚未存在,将为{{3}}创建一个垫片,否则它将保留本机实现(速度更快)。
答案 1 :(得分:0)
字符串修剪是一个有趣的主题。有些浏览器可以优于其他浏览器优化某些正则表达这是一篇好文章:http://blog.stevenlevithan.com/archives/faster-trim-javascript
我通常使用该文章中的第一种方法:
String.prototype.killWhiteSpace = function() {
return this.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
};
请注意,本文(以及此解决方案)侧重于性能。这可能对你很重要,也可能不重要,这里的其他答案肯定符合要求。