javascript - 如何在 React JS 中的 NumericFormat 字段中允许运算符
问题描述
我正在使用一个 NumberFormat 文本字段,它只允许整数,但我想允许像(%、*、/、<、>、+、-、=、^)这样的运算符。
import NumberFormat from "react-number-format";
state = { name: "" }
<NumberFormat
{...this.props}
placeholder=""Enter a number
customInput={OutlinedInput}
value={name}
onValueChange={(e) => handleFieldChange(e.value)}
/>
handleFieldChangeValue = (value) => {
this.setState({name, value})
}
如何允许此文本字段中的运算符?
解决方案
以下是使用简单输入字段实现所需内容的方法regex
:
import React from "react";
const regex = new RegExp('^([0-9]|[-+=^<>/%*])+$');
function App() {
const [value, setValue] = React.useState('');
const onChange = e => {
if(regex.test(e.target.value) || e.target.value === "") {
setValue(e.target.value);
};
}
return (
<div>
<input value={value} onChange={onChange} />
</div>
);
}
您也可以使用此沙箱进行检查
推荐阅读
- bluetooth - 输入蓝牙 HC-05 的 AT 命令时,在 arduino 串行监视器中看不到任何内容
- c# - 使用 customResolver 从 2 个源映射到目标时 AutoMapper 产生错误
- mysql - mysql 不同的字符被识别为相同的,为什么
- ubuntu - 在 Ubuntu 18.04 中安装 Mod-Security 时出错
- jquery - jQuery 生成的元素不会调用函数
- azure - 如何从天蓝色功能向天蓝色服务总线添加消息?
- android - 安卓谷歌登录失败
- c# - 通用记录器引擎如何调用所有特定记录器方法
- join - 多对多 SELECT 由于某种原因分成多行
- javascript - Node.js 打印回未定义的控制台中的属性