我有以下问题我需要从数字输入中排除 0 作为起始数字我有以下代码:
<input required type="number" min="1" value="1" id="number" name="number" pattern="[^0]d+">
但如果用户决定手动输入 01234 之类的数字,它就不起作用。
最佳答案
要使其正常工作,请将输入类型更改为 text
并使用 ^[1-9]\d*$
作为模式
<input required type="text" value="1" min="1" id="number" name="number" pattern="^[1-9]\d*$">
此正则表达式不允许任何数量的起始零('01'、'001')或任何非数字字符('1b')并接受一位数字,例如 1
。
完整工作表示例:
<!DOCTYPE html>
<html>
<body>
<form>
<input required type="text" value="1" min="1" id="number" name="number" pattern="^[1-9]\d*$">
<input type="submit">
</form>
</body>
</html>
关于仅从数字输入中排除 0 作为第一个符号的 HTML 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30413287/