Home  >  Article  >  Web Front-end  >  Five ways to remove spaces before and after a string in js

Five ways to remove spaces before and after a string in js

伊谢尔伦
伊谢尔伦Original
2016-11-22 14:36:091373browse

The first one: Loop check and replace

//供使用者调用
function trim(s){
return trimRight(trimLeft(s));
}
//去掉左边的空白
function trimLeft(s){
if(s == null) {
return "";
}
var whitespace = new String(" \t\n\r");
var str = new String(s);
if (whitespace.indexOf(str.charAt(0)) != -1) {
var j=0, i = str.length;
while (j < i && whitespace.indexOf(str.charAt(j)) != -1){
j++;
}
str = str.substring(j, i);
}
return str;
}
//去掉右边的空白
function trimRight(s){
if(s == null) return "";
var whitespace = new String(" \t\n\r");
var str = new String(s);
if (whitespace.indexOf(str.charAt(str.length-1)) != -1){
var i = str.length - 1;
while (i >= 0 && whitespace.indexOf(str.charAt(i)) != -1){
i--;
}
str = str.substring(0, i+1);
}
return str;
}

The second one: Regular replacement

String.prototype.Trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}
String.prototype.LTrim = function()
{
return this.replace(/(^\s*)/g, "");
}
String.prototype.RTrim = function()
{
return this.replace(/(\s*$)/g, "");
}

The third one: Use jquery

$.trim(str)
jquery内部实现为:
[javascript]
function trim(str){
return str.replace(/^(\s|\u00A0)+/,&#39;&#39;).replace(/(\s|\u00A0)+$/,&#39;&#39;);
}

The fourth one: Use motools

function trim(str){
return str.replace(/^(\s|\xA0)+|(\s|\xA0)+$/g, &#39;&#39;);
}

The fifth one: Cut the string method

function trim(str){
str = str.replace(/^(\s|\u00A0)+/,&#39;&#39;);
for(var i=str.length-1; i>=0; i--){
if(/\S/.test(str.charAt(i))){
str = str.substring(0, i+1);
break;
}
}
return str;
}


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn