JavaScript Guide
Beginner9 minsJS String Methods Reference

String replace()

Returns a new string with the first match replaced by a replacement string.

Lesson session

0% complete

0/5
Learn mode

Read the concept first, then inspect syntax and examples.

Study prompt

Current mode guidance

Read the concept first, then inspect syntax and examples.

Confidence

Track your comfort

55%
NewClear

Quick notes

0/240 characters

Concept switcher

Move through the idea before the code.

Returns a new string with the first match replaced by a replacement string.

Example preview

Run it in your head

String replace() syntax

Returns a new string with the first match replaced by a replacement string.

const message = "Hello World! Hello JavaScript!";

// Replace first occurrence only
console.log(message.replace("Hello", "Hi"));

// Using regex with g flag for ALL occurrences
console.log(message.replace(/Hello/g, "Hi"));

// Function replacement
const result = "price: 1000".replace(/d+/, (match) => parseInt(match) * 1.18);
console.log(result);
Output

Predict the output first, then reveal it.

Next useful links

Related pages from the same JavaScript guide.

Overview & Purpose

Returns a new string with the first match replaced by a replacement string.

Topic Definition

replace() is the exact operation explained on this reference page. In JavaScript, the important details are the receiver value, accepted arguments, callback behavior if any, returned value, and whether the original data changes. String replace() should be learned as a practical API: first read the syntax, then run the basic example, then check the output, then confirm mutation behavior. This prevents the most common method-reference mistakes, especially when arrays, strings, objects, dates, Math utilities, promises, or browser APIs look similar but return different results.

Why It Matters

Use replace() when its return value and side-effect behavior match your task. The method gives your code a standard vocabulary, reduces custom loops or manual parsing, and makes code reviews easier because other JavaScript developers already know the expected behavior. It is especially useful when you need predictable data transformation, lookup, formatting, async handling, or value calculation.

Syntax Guide

javascript
string.replace(searchValue, replaceValue)
Reference API Specifications
Parameters:
  • searchValue (required) — string to find (only first occurrence), or a RegExp.
  • replaceValue (required) — replacement string, or a function(match) => replacement.
Return Value:

A new string with the first match replaced. Original string unchanged. Mutation behavior: No — returns a new string.

Syntax Explanation:

Returns a new string with the first match replaced by a replacement string. Related APIs: replaceAll() — replaces ALL occurrences. split().join() — older all-replace pattern. match() — for extraction without replacement.

Runnable Code Examples

Example 1: String replace() syntax

Returns a new string with the first match replaced by a replacement string.

javascript
const message = "Hello World! Hello JavaScript!";

// Replace first occurrence only
console.log(message.replace("Hello", "Hi"));

// Using regex with g flag for ALL occurrences
console.log(message.replace(/Hello/g, "Hi"));

// Function replacement
const result = "price: 1000".replace(/d+/, (match) => parseInt(match) * 1.18);
console.log(result);
expected console output
Hi World! Hello JavaScript! Hi World! Hi JavaScript! price: 1180
Breakdown:

A new string with the first match replaced. Original string unchanged.

Example 2: Real-world String replace() usage

replace() with regex is powerful for sanitization, formatting, and transformation. $1, $2 in replacement string refer to captured groups. Function replacement enables computed replacements.

javascript
// Sanitize user input — remove HTML tags
function stripHTML(html) {
  return html.replace(/<[^>]*>/g, "");
}

// Format phone number
function formatPhone(phone) {
  const digits = phone.replace(/D/g, ""); // Remove non-digits
  return digits.replace(/(d{5})(d{5})/, "$1 $2");
}

// URL slug generator
function createSlug(title) {
  return title
    .toLowerCase()
    .replace(/[^a-z0-9 ]/g, "")  // Remove special chars
    .replace(/s+/g, "-")          // Spaces to hyphens
    .replace(/^-|-$/g, "");        // Remove leading/trailing hyphens
}

console.log(stripHTML("<h1>Hello <b>World</b></h1>"));
console.log(formatPhone("9876543210"));
console.log(createSlug("JavaScript Arrow Functions — Complete Guide!"));
expected console output
Hello World 98765 43210 javascript-arrow-functions-complete-guide
Breakdown:

replace() with regex is powerful for sanitization, formatting, and transformation. $1, $2 in replacement string refer to captured groups. Function replacement enables computed replacements.

Example 3: replace() basic example

A focused example showing the core behavior.

javascript
const text = "JavaScript Tutorial";
console.log(text.toString());
expected console output
See console output based on the shown input
Breakdown:

This is the smallest useful example for checking the method behavior.

Real-world Use Cases

  • 1

    Using replace() while transforming API response data.

  • 2

    Applying replace() in search, filter, sort, and display logic.

  • 3

    Using replace() inside form validation or input cleanup.

  • 4

    Combining replace() with React or Next.js rendering code.

  • 5

    Explaining replace() in output-based interview questions.

Coding Exercises

1

Exercise Challenge

Write a minimal example that demonstrates String replace().

2

Exercise Challenge

Change the input in the String replace() example and predict the output before running it.

3

Exercise Challenge

Wrap the String replace() example inside a reusable function.

4

Exercise Challenge

Handle an empty value when using String replace().

5

Exercise Challenge

Explain String replace() in one comment above your code.

6

Exercise Challenge

Combine String replace() with a conditional branch.

7

Exercise Challenge

Create a real-world variable name for String replace().

8

Exercise Challenge

Add error-safe logging around String replace().

9

Exercise Challenge

Write one best-practice rule for String replace().

10

Exercise Challenge

Refactor the String replace() example to use const where reassignment is not needed.

Practice Tasks Checklist

1Write the syntax of replace() from memory.
2Create one basic replace() example and log the output.
3Use replace() with an array of objects or realistic string data.
4Check whether replace() mutates the original value.
5Compare replace() with a similar method in two sentences.
6Handle empty input before calling replace().
7Write a helper function that wraps replace().
8Create one output-based interview question for replace().
9Use replace() in a UI-like data formatting task.
10Add one best-practice comment above your replace() example.

String replace() Quiz Challenges

1

Quiz Challenge

What is the main purpose of String replace()?

2

Quiz Challenge

Which question should you ask first when using String replace()?

3

Quiz Challenge

What should a good String replace() example include?

4

Quiz Challenge

Why should you test edge cases for String replace()?

5

Quiz Challenge

Where is String replace() most likely to appear?

6

Quiz Challenge

What is a strong interview answer for String replace()?

7

Quiz Challenge

Which debugging step is most useful for String replace()?

8

Quiz Challenge

What makes String replace() content high quality for learning?

9

Quiz Challenge

What should you compare when choosing String replace() over a related topic?

10

Quiz Challenge

What is the best way to master String replace()?

Technical Interview Q&As

1String replace() interview question 1: define the topic in simple language.

Model Answer:

String replace() should be answered with a clear definition, topic-specific syntax, one small example, the expected output, and a practical use case. For this question, focus on the meaning and purpose of the concept.
2String replace() interview question 2: show the smallest useful example.

Model Answer:

String replace() should be answered with a clear definition, topic-specific syntax, one small example, the expected output, and a practical use case. For this question, focus on the minimum code needed to demonstrate it.
3String replace() interview question 3: predict the output of a sample.

Model Answer:

String replace() should be answered with a clear definition, topic-specific syntax, one small example, the expected output, and a practical use case. For this question, focus on why the output appears in that order.
4String replace() interview question 4: explain the most common mistake.

Model Answer:

String replace() should be answered with a clear definition, topic-specific syntax, one small example, the expected output, and a practical use case. For this question, focus on the mistake that usually causes bugs.
5String replace() interview question 5: describe a real project use case.

Model Answer:

String replace() should be answered with a clear definition, topic-specific syntax, one small example, the expected output, and a practical use case. For this question, focus on where it appears in production JavaScript.
6String replace() interview question 6: compare it with a related JavaScript topic.

Model Answer:

String replace() should be answered with a clear definition, topic-specific syntax, one small example, the expected output, and a practical use case. For this question, focus on how it differs from a nearby concept.
7String replace() interview question 7: explain how to debug it.

Model Answer:

String replace() should be answered with a clear definition, topic-specific syntax, one small example, the expected output, and a practical use case. For this question, focus on which console or breakpoint checks reveal the issue.
8String replace() interview question 8: mention edge cases.

Model Answer:

String replace() should be answered with a clear definition, topic-specific syntax, one small example, the expected output, and a practical use case. For this question, focus on empty input, wrong type, and boundary behavior.
9String replace() interview question 9: state best practices.

Model Answer:

String replace() should be answered with a clear definition, topic-specific syntax, one small example, the expected output, and a practical use case. For this question, focus on readability, safety, and maintainability.
10String replace() interview question 10: explain when not to use it.

Model Answer:

String replace() should be answered with a clear definition, topic-specific syntax, one small example, the expected output, and a practical use case. For this question, focus on situations where another approach is clearer.

Related Lessons

Frequently Asked Questions