当前位置:网站首页>input 只能输入数字,限定输入
input 只能输入数字,限定输入
2022-07-06 09:28:00 【梦想身高1米8】
string.replace(/[^\d]/g, '')
,把字符串内非数字的字符替换成空字符/[^\d]/g
是正则表达式,全局匹配非数字字符
1 onkeyup事件
<html>
<head>
<script src="https://unpkg.com/[email protected]/umd/react.development.js" crossorigin></script>
<script src="https://unpkg.com/[email protected]/umd/react-dom.development.js" crossorigin></script>
<script src="https://unpkg.com/[email protected]/babel.min.js"></script>
</head>
<body>
<div id="root"></div>
</body>
<script type="text/babel"> const e = React.createElement; const custom = () => {
return <input placeholder="请输入" onKeyUp={
e => e.target.value = e.target.value.replace(/[^\d]/g, '')} /> } const domContainer = document.querySelector('#root'); ReactDOM.render(e(custom), domContainer); </script>
</html>
如果把onkeyup换成onkeydown或onkeypress,是达不到效果的,虽然onkeyup的效果也不是很好
2 onchange配合value
onkeyup事件本质上就是在键盘松开的时候改变input内的值,那直接用onchange和value不就可以了。
<html>
<head>
<script src="https://unpkg.com/[email protected]/umd/react.development.js" crossorigin></script>
<script src="https://unpkg.com/[email protected]/umd/react-dom.development.js" crossorigin></script>
<script src="https://unpkg.com/[email protected]/babel.min.js"></script>
</head>
<body>
<div id="root"></div>
</body>
<script type="text/babel"> const e = React.createElement; const custom = () => {
const [number, setNumber] = React.useState() return <input placeholder="请输入" value={
number} onChange={
e => setNumber(e.target.value.replace(/[^\d]/g, ''))} /> } const domContainer = document.querySelector('#root'); ReactDOM.render(e(custom), domContainer); </script>
</html>
动图上可能看不出来,其实我在输入’2’之后疯狂摁字母键
3 限定输入规则(正则表达)
只能输入数字string.replace(/[\D]/g, ''))
只能输入数字、英文string.replace(/[^A-Za-z0-9]/g, ''))
只能输入数字、英文、下斜杠string.replace(/[\W]/g, ''))
只能输入数字、小数点(不是小数,可以有多个小数点)string.replace(/[^0-9.]/g, ''))
边栏推荐
- 1903. Maximum odd number in string
- Information security - Epic vulnerability log4j vulnerability mechanism and preventive measures
- QT按钮点击切换QLineEdit焦点(含代码)
- E. Breaking the Wall
- QT实现圆角窗口
- 【练习-7】Crossword Answers
- 【练习-3】(Uva 442)Matrix Chain Multiplication(矩阵链乘)
- B - Code Party (girls' competition)
- Ball Dropping
- 【练习-5】(Uva 839)Not so Mobile(天平)
猜你喜欢
QT实现窗口置顶、置顶状态切换、多窗口置顶优先关系
Maximum product (greedy)
渗透测试 ( 1 ) --- 必备 工具、导航
2027. Minimum number of operations to convert strings
QT实现窗口渐变消失QPropertyAnimation+进度条
Openwrt build Hello ipk
(POJ - 3685) matrix (two sets and two parts)
1903. Maximum odd number in string
Penetration test (2) -- penetration test system, target, GoogleHacking, Kali tool
【练习-5】(Uva 839)Not so Mobile(天平)
随机推荐
快速转 TypeScript 指南
Auto.js入门
The concept of C language array
C language learning notes
最全编程语言在线 API 文档
【练习-5】(Uva 839)Not so Mobile(天平)
Raspberry pie csi/usb camera uses mjpg to realize web camera monitoring
Gartner: five suggestions on best practices for zero trust network access
“鬼鬼祟祟的”新小行星将在本周安全掠过地球:如何观看
Pyside6 signal, slot
【练习-7】Crossword Answers
What is the difficulty of programming?
Data storage in memory & loading into memory to make the program run
分享一个在树莓派运行dash应用的实例。
HDU - 6024 building shops (girls' competition)
1689. Ten - the minimum number of binary numbers
【练习-9】Zombie’s Treasure Chest
Information security - threat detection - Flink broadcast stream broadcaststate dual stream merging application in filtering security logs
[exercise -11] 4 values why sum is 0 (and 4 values of 0)
Write web games in C language