正则表达式怎么写才让他只能输入一个小数点,而且除了数字和一个小数点以及-号以外不能输入别的
<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
<script type="text/javascript">
function qq(x){
var qqe=x;
if(qqe==1){
var str=document.getElementById('txt1');
var str1=parseFloat(str.value);
}else if(qqe==2){
var str=document.getElementById('txt2');
var str1=parseFloat(str.value);
}
if(/^[-]?[0-9]+\.?[0-9]+?$/.test(str1)||/^[0-9]+$/.test(str1)){//这是用正则表达是检查输入的是否数字或者带小数的数字
}else
{
if(qqe==1){
alert('文本框1中输入的不是整数或者带有小数点的正负数字,请重新输入');}
else{
alert('文本框2中中输入的不是整数或者带有小数点的正负数字,请重新输入');
}
}
}
function count(){
var a=parseFloat(document.getElementById('txt1').value); //获取第一个输入框的值
var f=parseFloat(document.getElementById('txt2').value); //获取第二个输入框的值
var c=document.getElementById('select').value; //获取选择框的值
var t;
var e=document.getElementById('fruit');
// var d= eval(a+c+f) ;
// e.value=d;
switch(c)
{
case "+":
t=a+f;
break;
case "-":
t=a-f;
break;
case "*":
t=a*f;
break;
case "/":
t=a/f;
break;
} //获取通过下拉框来选择的值来改变加减乘除的运算法则
e.value=t; //设置结果输入框的值
}
</script>
</head>
<body>
<input type='text' id='txt1' onblur="qq(1)"/>
<select id='select'>
<option value='+'>+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type='text' id='txt2' onblur="qq(2)" />
<input type='button' value=' = ' onclick="count()"/> <!--通过 = 按钮来调用创建的函数,得到结果-->
<input type='text' id='fruit' />
</body>
</html>