javascript - 动态双重验证Javascript正则表达式

标签 javascript jquery regex

我有一个文本输入字段,用户只能输入 double 值。 我已经成功地使用 jquery 来实现这一点,但对正则表达式没有太多经验,我不确定我正在使用的正则表达式(使用多个 OR)是否是一个好方法。我花了很多时间尝试获得一个简单的正则表达式,但没有成功。这是我最后用的。

这是我正在使用的功能:

$('#foo').keyup(function(){
    var str = $(this).val();
    if(/(^\.+$)|(^\d+$)|(^\d+\.$)|(^\.\d+$)|(^\d+\.\d+$)/.test(str)){
        $('#foosays').text(str);
    }else{
        $("#foo")[0].value="";
    }
});

这是我的函数的演示:http://jsfiddle.net/Esfsy/

欢迎提出任何改进正则表达式或其他任何内容的建议。

最佳答案

你可以像这样简化它:

http://jsfiddle.net/Esfsy/3/

$('#foo').keyup(function(){
    var str = $(this).val();
    if(/^-?(\d*\.)?\d*$/.test(str)){
        $('#foosays').text(str);
    }else{
        $("#foo")[0].value="";
    }
});

关于javascript - 动态双重验证Javascript正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16429310/

相关文章:

javascript - Context API 中的 ReactJS 异步 axios

jquery - Raspberry Pi - 使用 JQuery 的 Flask 服务器无法离线工作(在线工作)

javascript - y,yes, Y, YES ,1 的正则表达式

c# - 仅适用于 10 位数字和数字的正则表达式验证器 c# asp.net

javascript - 为什么这些函数被分配给函数名称为 "redundant"的对象?

javascript - react 无法设置未定义 Prop 的属性

jquery - 使用 jQuery 隐藏内部 Div

c# - TreeView 的正则表达式

javascript - 如何使用 Raphael.js 绘制一条 "infinite"线?

javascript - 如果项目不存在,$.inArray 函数不会返回 "-1"