Html表单的正则校验--将不符合指定正则表达式的字符串自动替换为空

时间:2021-05-01 21:10:18
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>checkNum.html</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript">
function checkNum(el){
var reg = /^-?\d+(\.\d+)?$/;//定义正则表达式
if(el.value.search(reg)==-1){//search()方法:用户输入的值如果不符合正则表达式,就返回-1
el.value="";//如果不符合正则表达式就清空
}
}
</script>
</head>
<body>
请输入数字:<input type="text" onchange="checkNum(this)"/>
</body>
</html>

上面的正则表达式^-?\d+(\.\d+)?$的意思是,校验用户输入的是不是实数(包含整数和小数),也就是说用户只能输入减号(-)、数字0-9和小数点(.),并且减号只能出现在数字的开头,不能出现在数字的中间或结尾,小数点也只能在数字的中间出现一次。凡是输入了不满足该条件的值都将被自动清空。