【问题标题】:Allow only numbers not starting with zero只允许不以零开头的数字
【发布时间】:2020-01-02 12:55:22
【问题描述】:

我只想允许不以零开头的数字。

我使用了正则表达式 ^((?!(0))[0-9]+)$,当我使用 https://www.regextester.com/1926 对其进行测试时它运行良好,但在我的 react 应用程序中它无法正常运行。

谁能告诉我我在这里做错了什么?

编辑

这是我的代码

const sharenumberRegex = /^((?!(0))[0-9]+)$/;
estimatedShareValue: Yup.string()
    .matches(sharenumberRegex, "Invalid number")
    .required('*Please type positive number'),

【问题讨论】:

  • 数字从不以 0 开头,但小于 1 和大于 -1 的十进制数除外。可以提供代码吗?
  • 您可能使用的是字符串而不是“数字”。请分享代码/可重现的示例以进一步提供帮助
  • 但在我的反应应用程序中它无法正常工作。 无助于理解问题。你能解释一下吗
  • @DominikMatis 检查编辑。
  • 也不是很清楚,可以举一些例子吗?

标签: javascript regex reactjs


【解决方案1】:

你可以使用

 /^[1-9]\d*$/

RegExp Reference

【讨论】:

  • 1234000呢?
  • @shrivallabha.redij 它会传递尾随的零数字吗?
  • /^[1-9]\d*$/.test("1234000") 是真的,因为我使用的插入符号运算符匹配第一个字符是 1 到 9 而不是其他字符
  • 刚刚删除了 DV。
  • 谁能告诉我我在这里做错了什么?这是真正的问题。
猜你喜欢
  • 2011-02-16
  • 1970-01-01
  • 1970-01-01
  • 2012-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多