如何在 ReactJS 中去除输入中的空格?


我们将学习如何在 ReactJS 中去除输入中的空格。有时,用户会错误地在输入的开头或结尾添加不必要的空格。因此,作为开发者,我们需要检查输入字符串的开头或结尾是否包含空格。

如果我们在输入中发现空格,我们应该将其去除;否则,可能会导致问题。例如,我们需要将电子邮件存储在数据库中,并且在注册电子邮件时,用户也错误地添加了空格,我们也将带有空格的电子邮件存储在了数据库中。当用户再次访问我们的应用程序使用相同的电子邮件登录时,就会出现凭据不匹配的错误。

因此,我们需要在去除空格后存储数据以避免错误。

自定义算法

在这种方法中,我们将使用各种 JavaScript 方法创建一个自定义算法,以去除字符串开头和结尾的空格。

语法和算法

用户可以按照以下步骤创建自定义算法来修剪字符串。

步骤 1 – 使用空格作为分隔符将字符串分割成数组。

let array = inputString.split(" ");

在上述步骤中,inputString 是来自用户的字符串。

步骤 2 – 接下来,使用 while 循环和 array.shift() 方法去除前面的空格。

while (array[0] == ") {
   array.shift();
}

步骤 3 – 现在,使用 while 循环和 array.pop() 方法去除字符串末尾的所有空格。

while (array[array.length - 1] == "") {
   array.pop();
}

步骤 4 – 在最后一步,将单词数组重新连接成字符串。

let string = array.join(" ");

在上述步骤中,字符串包含没有任何空格的输入字符串。

示例

在下面的示例中,我们从用户那里获取字符串输入。我们使用 handleInputString() 函数处理输入。

在输入完整个字符串后,当用户按下提交按钮时,它将执行 handleSubmit() 函数。在 handleSubmit() 函数中,我们实现了上述算法来去除输入字符串中的空格。

用户可以在输出中观察到没有任何空格的输入字符串。

import React, { useState } from "react";
import validator from "validator";

const App = () => {
  const [inputString, setinputString] = useState("");
  const [finalString, setFinalString] = useState("");

  function handleInputString(event) {
    let string = event.target.value;
    setinputString(string);
  }
  function handleSubmit() {
    let array = inputString.split(" ");
    while (array[0] == "") {
      array.shift();
    }

    while (array[array.length - 1] == "") {
      array.pop();
    }
    
    let string = array.join(" ");
    setFinalString(string);
  }
  return (
    <div>
      <h2>
        {" "}
        Trimming the white spaces from the string 
      </h2>
      <p> Enter a string with some white spaces at beginning and end</p>
      <input type = "text" value = {inputString} onChange = {handleInputString} />
      <div > <br/> The final string after trimming white spaces is: {finalString} 
      </div><br/>
      <button onClick = {handleSubmit}>
        Submit
      </button>
    </div>
  );
};

export default App;

输出

使用 trim() 方法

trim() 方法会自动去除字符串开头和结尾的空格。我们可以通过引用字符串在任何字符串上执行 trim() 方法。

语法

用户可以按照以下语法在 ReactJS 中使用 trim() 方法去除字符串中的空格。

let str = string.trim();

在上述语法中,string 是输入字符串,str 是从 trim() 方法返回的没有空格的字符串。

示例

在下面的示例中,我们将输入字符串存储在 testString 变量中,将去除空格后的字符串存储在 finalString 变量中。

在 handleSubmit() 函数中,我们使用 trim() 方法和 inputString 字符串来去除空格。

import React, { useState } from "react";

const App = () => {
  const [testString, settestString] = useState("");
  const [finalString, setFinalString] = useState("");

  function handletestString(event) {
    let string = event.target.value;
    settestString(string);
  }
  function handleSubmit() {
    let string = testString;
    setFinalString(string.trim());
  }
  return (
    <div>
      <h3>
        {" "}
        Trimming the white spaces from the string using the
        <i> string.trim() method </i>
      </h3>
      <input type = "text" value = {testString} onChange = {handletestString} />
      <div style = {{ color: "grey", fontSize: "1 rem" }}>
        The final string after removing white spaces is {finalString}
      </div>
      <button
        onClick = {handleSubmit}
        style = {{
          backgroundColor: "grey",
          border: "2px dotted blue",
          borderRadius: "10px",
          color: "blue",
          fontSize: "1.3rem",
          padding: "0.5rem",
        }}
      >
        Submit
      </button>
    </div>
  );
};
export default App;

输出

我们学习了如何使用 trim() 方法去除空格。此外,我们还创建了自定义算法来向初学者解释 trim() 方法的工作原理。

此外,用户还可以使用 validator npm 包来去除字符串中的空格。

更新于: 2023年9月8日

5K+ 阅读量

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告