i have two html text input, out of that what ever user type in first text box that need to reflect on second text box while reflecting it should replace all spaces to semicolon. I did to some extant and it replacing for first space not for all, i think i need to use .each function of Jquery, i used that but i not got exact result see this
HTML :
Title : <input type="text" id="title"><br/>
Keyword : <input type="text" id="keyword">
Jquery:
$('#title').keyup(function() {
var replaceSpace = $(this).val();
var result = replaceSpace.replace(" ", ";");
$("#keyword").val(result);
});
Thanks.
var result = replaceSpace.replace(/ /g, ";");
Here, / /g
is a regex (regular expression). The flag g
means global. It causes all matches to be replaced.
Pure Javascript, without regular expression:
var result =
replaceSpacesText.
split(" ").
join("");
Simple code for replace all spaces
var str = 'How are you';
var replaced = str.split(' ').join('');
Out put:
Howareyou
VERY EASY:
just use this to replace all white spaces
with -
:
myString.replace(/ /g,"-")
$('#title').keyup(function () {
var replaceSpace = $(this).val();
var result = replaceSpace.replace(/\s/g, ";");
$("#keyword").val(result);
});
Since the javascript replace function do not replace 'all', we can make use the regular expression for replacement. As per your need we have to replace all space ie the \s in your string globally. The g character after the regular expressions represents the global replacement. The seond parameter will be the replacement character ie the semicolon.
takes care of multiple white spaces and replaces it for a single character
myString.replace(/\s+/g, "-")
http://jsfiddle.net/aC5ZW/340/
I came across this as well for me this has worked (covers most browsers):
myString.replace(/[\s\uFEFF\xA0]/g, ';');
Inspired by this trim polyfill after hitting some bumps:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim#Polyfill