Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

Trim only leading and trailing spaces from a field

Geckoz100
Level 5
Level 5

Is there a way to trim only the leading and trailing spaces from a field?  I have a Name field, which I later split so I can generate using just the first name, using the rawValue.split method.  This way I can generate an e-mail that says Dear John, instead of Dear John Smith by pulling from that field.  The problem I have encountered there is that sometimes the person typing the name leaves a leading space before the name, so the e-mail gets generated with no name (so it says "Dear ,".  Any help is greatly appreciated.


1 Accepted Solution
Magus069
Correct answer by
Level 10
Level 10

Alright, thanks for saying about the null value, your event is good, everything's fine.

Although, if you want to change the returned null value, here is the changes for returning nothing instead :

function trim(strValue){

    var str = new String(strValue);

    return strValue !== null ? str.replace(/(^\s*)|(\s*$)/g,"") : "";

}

Enjoy!

View solution in original post

7 Replies
Magus069
Level 10
Level 10

Hi there,

here is a function which removes all spaces in the beginning and end of a string :

Hope this will help ya

Geckoz100
Level 5
Level 5

OK, that's great, thanks. Now, sorry I don't know how to read that regexp, can you explain how it works, so I know for the future?  And in what event do I put it?  I appreciate the help.

Magus069
Level 10
Level 10

Yes sure,

This function can be called from a script object, so at anytime you want to call the trim function to retrieve a string with all spaces removed at the beginning and end of a string, feel free to call it.

Enjoy!

Geckoz100
Level 5
Level 5

OK, thanks for that explanation, very helpful.  So, I have one more question, sorry.  I'm not that experienced with javascript, so I don't know how to call the function.  Do I have to create a new script object and put your script in there?

Magus069
Level 10
Level 10

Well either you insert the function within all events you need to call the trim function or you put it only once in a script object, which you can access from anywhere in the form by calling the script object then the function...


By putting the function within a script object, you only need this one occurrence to call the function anywhere in there form,

Otherwise if you insert the function within the click event of a button, the function is only accessible within that event

Geckoz100
Level 5
Level 5

It worked, thanks!  I haven't used many custom functions before, so I didn't know had to use the objName.functionName format to call it.  So I set it up like below, in the Exit event, because if I left it without the if statement and then typed something, exited the field, and came back to delete it, it would add "null" (in actual text) to the field.  Please let me know if you see anything I need to fix.


// remove leading and trailing spaces


if (this.rawValue != null) {


  this.rawValue = objSpaceTrim.trim(this.rawValue);


}



Magus069
Correct answer by
Level 10
Level 10

Alright, thanks for saying about the null value, your event is good, everything's fine.

Although, if you want to change the returned null value, here is the changes for returning nothing instead :

function trim(strValue){

    var str = new String(strValue);

    return strValue !== null ? str.replace(/(^\s*)|(\s*$)/g,"") : "";

}

Enjoy!

View solution in original post