javascript - Javascript中的正则表达式 - 需要允许小数作为第一个字符
问题描述
我有一个 React 小部件,可让您输入价格。我通过 regex.test() 输入输入的文本,以确保数字中只允许使用数字和 1 个小数。但是,我使用的正则表达式不允许小数点作为第一个字符(例如 -> .05)。我目前的正则表达式是
`/^(\d+\.?\d{0,9}|\.\d{1,9})$/`
我尝试\.?
在前面添加一个可选的,但它不起作用。谢谢你的帮助!
解决方案
您可以使用
/^\d*(?:\.\d+)?$/
const testFunc = (str) =>{
return str.length > 0 && /^\d*(?:\.\d+)?$/.test(str)
}
console.log(testFunc(''))
console.log(testFunc('.123'))
console.log(testFunc('1'))
console.log(testFunc('1.123'))
console.log(testFunc('123.123.123'))
推荐阅读
- python-3.x - 在比较熊猫中的两个数据帧时遇到麻烦
- hyperledger-fabric - Hyperledger Fabric 2.0-beta Javascript 开发模式
- java - 从 Firebase 为每个特定帖子检索特定数据的比 datasnapshot 更好的方法?返回的位置错误
- c# - 在 asp.net 核心应用程序中应该如何实现对数据库的异步日志记录?
- c++ - 要显示的 C 程序输入是 int 还是 char?
- reactjs - 错误:项目(...):渲染没有返回任何内容。这通常意味着缺少 return 语句。或者,不渲染任何内容,返回 null
- php - 错误htaccess隐藏php扩展,只是隐藏html
- c# - Firebase 在 Xamarin 表单中按日期过滤
- gitlab - GitLab 不从根仓库提供 404.html 错误页面
- selenium - 在 Python + webdriver 中执行 selenium 库并阻止会话