javascript - 正则表达式仅允许整数和小数,不需要精度

标签 javascript regex jsp

这是重复的帖子,但要求略有不同,我想知道一个只允许十进制数字的正则表达式。在这里找到了类似的解决方案。

regular expression to allow only integer and decimal 但解决方案中有一个逗号。

我根本不需要正则表达式表达式中的命令。

/^[0-9]+([\,\.][0-9]+)?$/g; answer found on the site

我根据帖子中的解释应用了我的逻辑。

/^[0-9]+([\.][0-9]+)?$/g; My modification

还有其他方法可以解决这个问题吗?

最佳答案

这是正确的调用方式:

var regex = new RegExp(/^[0-9]*([\.][0-9]+)?$/g);
console.log(regex.test('0.85'));  // true
console.log(regex.test('0,85'));  // false
console.log(regex.test('.35'));   // true  
console.log(regex.test(''));      // false   
console.log(regex.test('.'));     // false
console.log(regex.test('4'));     // true

我建议对正则表达式进行一些修改,我已将第一个 block 的重数更改为零或更多,因此.35将被视为有效,如下所示你在上面的评论中问。

Here是个笨蛋。

关于javascript - 正则表达式仅允许整数和小数,不需要精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31694000/

相关文章:

javascript - 如果字符串匹配正则表达式则替换,如果不匹配则添加变量

jquery - 如何在jsp中创建搜索文本框?

javascript - 没有值的 VueJs 单选按钮会打开所有单选输入元素

javascript - 如何在node.js中正确导入d3库?

regex - 从日志文件中提取特定行的数据

javascript - 替换双逗号,直到出现一些

java - jsp注册页面

jsp - 由于在jsp文件中使用双引号引起的简单错误

javascript - 与 setTimeout 和 click 发生冲突的事务

javascript - 如何设置D3漏斗图标签图例