求大神帮忙改一下正则表达式。。。

史上最菜 2017-07-18 05:59:03

//控制输入数字
function isNum(obj) {
obj.value = obj.value.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符
obj.value = obj.value.replace(/^\./g, ""); //验证第一个字符是数字
obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个, 清除多余的
obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
}


求大神帮忙改一下可以为负数。。 目前只能是正数小数
...全文
213 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
史上最菜 2017-07-19
  • 打赏
  • 举报
回复
引用 1 楼 q107770540 的回复:
obj.value = obj.value.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符 =============== change to: obj.value = obj.value.replace(/[^\d.-]/g, ""); //清除"数字"和"." "-"以外的字符
这样我试过 。。 只改这里的话 可以出现多个- 也就是“ -199-1-9 ”
  • 打赏
  • 举报
回复
var v = str.replace(/[^\d\.\-\+]/g, '');
var m = v.match(/[\+\-]?\d+(\.(\d{1,2})?)?/);
if (m != null) {
        v = m[0];
}
else
{
v='';
}
这个是用于控制输入的js
q107770540 2017-07-19
  • 打赏
  • 举报
回复
obj.value = obj.value.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符 =============== change to: obj.value = obj.value.replace(/[^\d.-]/g, ""); //清除"数字"和"." "-"以外的字符
q107770540 2017-07-19
  • 打赏
  • 举报
回复
obj.value = obj.value.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符 =============== change to: obj.value = obj.value.replace(/[^\d.-]/g, ""); //清除"数字"和"." "-"以外的字符 obj.value = obj.value.replace(/(?<=[\d.])-/g, ""); //清除多余的 "-"

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧