首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >材料设计Lite插件regex javascript

材料设计Lite插件regex javascript
EN

Stack Overflow用户
提问于 2018-03-07 10:12:20
回答 1查看 291关注 0票数 0

我的工作是基于材料设计的形式-石插件。以下链接:https://getmdl.io/components/index.html#textfields-section

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

这是我的简单表格:

代码语言:javascript
复制
<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完成。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-07 11:34:59

代码语言:javascript
复制
^(?:[1-9][0-9]*?,?[0-9]{0,2}|[0](?:,[0-9]{0,2})?|)$

这似乎符合您所提供的所有条件,您可以用这个演示来测试它。

它由三个“部分”组成,通过|的必要测试,对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-9中的0-2数字。
  3. ( |)$之间在末尾缺少任何内容)--如果输入为空,则匹配

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49149258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档