javascript - JS 中判断值是否有效的正则表达式返回 null

标签 javascript regex

我想检查一个值是否是一对有效的数字,有一个点并且点后面有零、一位或两位数字。

起初我尝试使用parseFloat()这看起来没问题,因为我可以评估 NaN 的结果。但如果给出像 11aa.01 这样的值,它将返回 11 而不是 NaN。

之后我去了match()看看正则表达式是否可以解决这个问题。我以为var mIsFloat = $('#Price').val().match('/\d+\.\d{0,2}/');可以解决问题,但是当我 console.log()我得到的结果null

我在这里忽略了一些明显的事情吗?

最佳答案

首先,您应该传递match正则表达式,而不是字符串

match(/\d+\.\d{0,2}/);

其次,它并未锚定到您要匹配的字符串的末尾,因此它会很高兴地说 "aa1.23bb" 匹配。

match(/^\d+\.\d{0,2}$/);

关于javascript - JS 中判断值是否有效的正则表达式返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20489689/

相关文章:

javascript - 在 MultiDatesPicker 全年 View 中禁用前几个月

javascript - 在轮播中使用视频

python - 删除 <select> 元素的正则表达式

javascript - 使用 Javascript 提取简单字符串的一部分

python - _sre.SRE_Pattern 对象在与另一个对象连接时不可调用

javascript - 如何替换android中的所有匹配字符串

javascript - 读取jsonp api调用返回的json对象

javascript - 扩展脚本 InDesign CS6 : Print using a print preset

javascript - 如何使用 Javascript 根据元素内容更改 css 样式

Java正则表达式在数字后拆分字符串