gpt4 book ai didi

javascript - Material Design Lite 插件正则表达式 javascript

转载 作者:行者123 更新时间:2023-12-03 02:21:11 26 4
gpt4 key购买 nike

我正在开发基于material-design-lite插件的表单。下方链接: https://getmdl.io/components/index.html#textfields-section

我在表单验证方面遇到问题,尤其是在正则表达式方面。

这是我的简单表格:

<form action="#">
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input class="mdl-textfield__input" type="text" pattern="-?[0-9]*(\.[0-9]+)?" id="sample4">
<label class="mdl-textfield__label" for="sample4">Number...</label>
<span class="mdl-textfield__error">Input is not a number!</span>
</div>
</form>

我想要这样的验证模式:

  1. 输入金额不是字符串(只能是数字0-9)
  2. 分隔符必须为“,”
  3. 我最多需要 2 位小数
  4. 我不能接受任何字符,除了数字 0-9 和“,”
  5. 输入金额不能小于0
  6. 输入金额必须从数字开始

你能帮我解决这些正则表达式吗?我对此没有足够的了解,只需要现成的模式。其余的验证我将通过 JavaScript 完成。

谢谢!

最佳答案

^(?:[1-9][0-9]*?,?[0-9]{0,2}|[0](?:,[0-9]{0,2})?|)$

这似乎符合您提供的所有标准,你可以用这个DEMO来测试它

它由 3 个“部分”组成,由 | 对 3 种不同匹配的基本测试分隔

  1. [1-9][0-9]*?,?[0-9]{0,2} - 如果输入是从 1-9 开始的数字,后跟一个数字,则匹配0-9 的数字数量(或缺少),后跟可选的 ,+ 0-9 的 0-2 个数字
  2. [0](?:,[0-9]{0,2})? - 如果输入为 0 后跟可选的 和 0,则匹配-2 个数字 0-9
  3. (末尾的 |)$ 之间缺少任何内容) - 如果输入为空则匹配

编辑:这是一个不允许最后一个字符为 , https://regex101.com/r/dPM95O/4 的版本

关于javascript - Material Design Lite 插件正则表达式 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49149258/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com