How to Replace Space with Non-Breaking Space in Javascript
In this tutorial, you will learn how to replace space with non-breaking space in javascript. In HTML, non-breaking space is also known as nbsp that will not break into new line. In a sentence, all words are separated from each other with the help of a space. By having a space, not only the words but the entire sentence becomes meaningful.
There are numerous ways to replace the space with non-breaking space. We are going to use the simplest approach which involves the usage of the regex pattern as well as replace()
method. The replace()
method searches the string for a particular value or a regex pattern and it returns a new string with the replaced values.
In the following example, we have one global variable that holds a string. Upon click of a button, we will replace the space with non-breaking space and display the result on the screen. Please have a look over the code example and the steps given below.
HTML & CSS
- We have 3 elements in the HTML file (
div
,button
, andh1
). Thediv
element is just a wrapper for the rest of the elements. - The
innerText
for thebutton
element is“Replace”
. - We have done some basic styling using CSS and added the link to our
style.css
stylesheet inside thehead
element. - We have also included our javascript file
script.js
with ascript
tag at the bottom.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link rel="stylesheet" href="style.css"> <title>Document</title> </head> <body> <div class="container"> <button>Replace</button> <h1>Result</h1> </div> <script src="script.js"></script> </body> </html>
.container { text-align: center; } button { margin-top: 10px; padding: 10px 20px; }
Javascript
- We have selected the
button
element andh1
element using thedocument.querySelector()
method and stored them inbtnReplace
andoutput
variables respectively. - We have attached a
click
event listener to thebutton
element. - We have a global variable
myString
which holds a string as its value. - We are displaying the original string in the
h1
element using theinnerText
property. - In the event handler function, we have
regex
variable that holds a regex pattern/ /g
as its value. - We are calling
replace()
method and passingregex
and Unicode character (\u00a0
) for non-breaking space as parameters. As a result, it will replace all occurrences of space with non-breaking space. The new string returned by this method will be stored in theresult
variable. - We are displaying the
result
in theh1
element using theinnerText
property.
let btnReplace = document.querySelector("button"); let output = document.querySelector("h1"); let myString = "John goes to the school at 7 o'clock in the morning"; output.innerText = myString; btnReplace.addEventListener("click", () => { let regex = / /g; let result = myString.replace(regex, "\u00a0"); output.innerText = result; });