为了账号安全,请及时绑定邮箱和手机立即绑定

如何防止用户在 ReactJS 的输入表单字段中输入空格?

如何防止用户在 ReactJS 的输入表单字段中输入空格?

慕标5832272 2022-08-04 09:30:47
我创建了一个名为QueryForm的组件,用于搜索功能。我正在返回该组件:
查看完整描述

3 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

你可以只使用trim


export default function App() {

  const [val, setVal] = useState();


  return (

    <div className="App">

      <input

        value={val}

        onChange={(e) => {

          setVal(e.target.value.trim());

        }}

      />

    </div>

  );

}


查看完整回答
反对 回复 2022-08-04
?
HUX布斯

TA贡献1876条经验 获得超6个赞

好的答案,但它们都假设输入是受控的。对于不受控制的表单,您希望确保在触发 onChange 事件之前进行验证。适用于受控和不受控制形式的解决方案是:


const onKeyDown = (event) => {

  if (event.code === 'Space') event.preventDefault()

}

下面包含类型


const onKeyDown = (event: KeyboardEvent): void => {

  if (event.code === 'Space') event.preventDefault()

}

如果除了拒绝空格之外还有其他需求,则该“if”语句的条件可以是正则表达式或重构函数。


查看完整回答
反对 回复 2022-08-04
?
qq_笑_17

TA贡献1818条经验 获得超7个赞

您可以在设置值时将空格替换为空字符串:


const onChange = (event, { newValue }) => {

  setInputValue(newValue.replace(/\s/g, ''));

};


查看完整回答
反对 回复 2022-08-04
  • 3 回答
  • 0 关注
  • 240 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信