我有一个文本输入字段,用户只能输入一个双精度。我已经成功地使用 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/
欢迎提出任何改进正则表达式或其他任何建议的建议。