【问题标题】:React: Sanatizer / Replace User Input (directly)反应:消毒剂/替换用户输入(直接)
【发布时间】:2021-03-06 00:31:21
【问题描述】:

Wassup 伙计们,

我目前正在为用户编写一个 React 组件 (dateFormatter),因此他们可以使用(数字)数字快速输入日期时间,而不是使用日历。

因此,例如,如果有人写了带或不带文字的日期,则应直接将其更正为正确的格式((dd/mm/yyyy)和(mm/dd/yyyy),适用于我们/德国布局)。为了更容易区分 0,我使用了 -- 语法。

 expect(dateFormatter("12/16/5---0")).toBe("12/16/5---");

我已经为此写了一个测试,它应该如何工作以及技术上允许的数字 here is my code example.

目前我通过 React 的 onChange 获取用户的实时输入,如下所示:

  const inputValue = date.target.value;

最后,我只想使用 dateFormatter(inputValue) 来清理所有内容并将其发回。
我怎样才能做到这一点?
我目前的想法是使用 if case + 正则表达式替换,但实际上我不知道。

提前致谢。

02112009 => 02/11/2009

【问题讨论】:

    标签: reactjs date input sanitize


    【解决方案1】:

    您是否尝试过直接方法?比如:

    function Input() {
      const [value, setValue] = useState('');
      return (
        <input
          onChange={e => setValue(dateFormatter(e.target.value))}
          value={value}
        />
      );
    }
    

    【讨论】:

    • 这是我的想法。我只是想知道,为了保证格式化的日期,最有效的方法是什么,而不是如何调用该方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-06
    • 2021-04-02
    • 1970-01-01
    • 2021-02-08
    • 2016-07-28
    • 1970-01-01
    相关资源
    最近更新 更多