HTML 输入模式属性无法正常工作 [重复]

html input pattern attribute not working correctly [duplicate]

提问人:Misha 提问时间:10/8/2023 更新时间:10/8/2023 访问量:30

问:

我编写的输入应该只接受实际数字,例如: 1.2 - 已接受 1.1.2 - 不接受 +123.53E-10.1 - 接受 等。

这是完整的代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <form>
        <input type="text" placeholder="Digit" pattern="\s*[-+]?\d+(\.\d+)?([eE][-+]?\d+(\.\d+)?)?\s*">

        <input type="submit" value="Submit">
    </form>
</body>
</html>

我的代码只能在 Internet Explorer 中工作。我需要做些什么才能使代码在Chrome,FireFox,Opera等中正常工作。

HTML 正则表达式 验证 输入 浏览器

评论

0赞 Blind2k 10/8/2023
我不明白你到底想要哪些数字,或者你的UI的一般概念是什么。在任何情况下,您都应该 1) <button type=“submit>它不是输入。2)不要忘记在自闭合标签中,屁股“/”。<input type=“text”... />
0赞 Misha 10/8/2023
我的意思是这种数字 en.wikipedia.org/wiki/Real_number

答:

0赞 Vincent F 10/8/2023 #1

转义方括号内的符号 +-

\s*[\-\+]?\d+(\.\d+)?([eE][\-\+]?\d+(\.\d+)?)?\s*
``

评论

0赞 Vincent F 10/8/2023
伟大!我很高兴听到它为您正常工作!并看看已经回答过的问题,@WiktorStribiżew详细解释了它。