JavaScript 表单验证

来源:互联网 发布:q币赚取软件 编辑:程序博客网 时间:2024/06/06 05:35

一:表单数字范围验证:

<table style="width: 85%; margin: 0px auto; border: 1px solid #a3c0e8; border-top-width: 0px;
            border-bottom-width: 0px;" cellpadding="0" cellspacing="0">
            <tr>
                <td style="width: 50%; border-right-width: 0px;" class="tdbg">
                    <span class="LabelStyle">纬度:
                        <asp:TextBox ID="Y_Du" runat="server" Width="20%" CssClass="txtBox" onkeyup="javascript:this.value=this.value.replace(/[^\d]/g,'');if(this.value<0){this.value=0;};if(this.value>360){this.value=360;}"></asp:TextBox>&nbsp;&nbsp;度&nbsp;&nbsp;
                        <asp:TextBox ID="Y_Fen" runat="server" Width="20%" CssClass="txtBox" onblur="check_num_value('当前验证字段经纬度',this,0,60)"></asp:TextBox>&nbsp;&nbsp;分&nbsp;&nbsp;
                        <asp:TextBox ID="Y_Miao" runat="server" Width="20%" CssClass="txtBox" onblur="check_num_value('当前验证字段经纬度',this,0,60)"
></asp:TextBox>&nbsp;&nbsp;秒</span>
                </td>
                <script type="text/javascript">
                   function check_num_value(obj_name,obj,minvalue,maxvalue){  
                    var reg = /^[0-9]+$/;  
                    if(obj.value!=""&&!reg.test(obj.value)){  
                        alert(obj_name+'只能输入数字!');  
                        obj.value = "";  
                        obj.focus();  
                        return false;  
                    }else if(minvalue>obj.value||obj.value>maxvalue){  
                        alert(obj_name+"的范围是"+minvalue+"-"+maxvalue+"!");  
                        obj.value="";  
                        obj.focus();  
                        return false;  
                    }  
}  
                </script>
            </tr>
        </table>

二:邮箱验证

String 对象的indexOf( )方法返回通过参数传入的字符串出现的开始位置,而邮箱地址必为类似于username@website.com 的结构,在用户提交的标记为邮箱地址的字符串中,通过indexOf("@")和indexOf(".")方法返回值可以判断邮箱地址的有效性。考察如下代码:

<script language="JavaScript" type="text/javascript">
<!--
function EmailAddressTest()
{
//获取用户输入的邮箱地址相关信息
var EmailString=document.MyForm.MyEmail.value;
var strLength=EmailString.length;
var index1=EmailString.indexOf("@");
var index2=EmailString.indexOf(".",index1);
var msg="验证邮箱地址实例:\n\n";
msg+=" 邮箱地址 : "+EmailString+"\n";
msg+=" 验证信息 : ";
//返回相关验证信息
if(index1==-1||index2==-1||index2<=index1+1||index1==0||index2==strLength-1)
{
msg+="邮箱地址不合法!\n\n"
msg+="不能同时满足如下条件:\n";
msg+=" 1、邮件地址中同时含有'@'和'.'字符;\n";
msg+=" 2、'@'后必须有'.',且中间至少间隔一个字符;\n"
msg+=" 3、'@'不为第一个字符,'.'不为最后一个字符。\n"
}
else
{
msg+="邮箱地址合法!\n\n";
msg+="能同时满足如下条件:\n";
msg+=" 1、邮件地址中同时含有'@'和'.'字符;\n";
msg+=" 2、'@'后必须有'.',且中间至少间隔一个字符;\n"
msg+=" 3、'@'不为第一个字符,'.'不为最后一个字符。\n"
}
alert(msg);
}
-->
</script>
</head>
<body>
<br />

<form name=MyForm>
邮箱地址:<input type=text name=MyEmail id=MyEmail value="@">
<input type=button value=验证邮箱地址 onclick="EmailAddressTest()">
</form>
</body>


1.文本框只能输入数字代码(小数点也不能输入)
<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">

2.只能输入数字,能输小数点.
<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')">
<input name=txt1 onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}">

3.数字和小数点方法二
<input type=text t_value="" o_value="" onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^\.\d+$/))this.value=0+this.value;if(this.value.match(/^\.$/))this.value=0;this.o_value=this.value}">

4.只能输入字母和汉字
<input onkeyup="value=value.replace(/[\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))" maxlength=10 name="Numbers">

5.只能输入英文字母和数字,不能输入中文
<input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')">

6.只能输入数字和英文<font color="Red">chun</font>
<input onKeyUp="value=value.replace(/[^\d|chun]/g,'')">

7.小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号:
<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false">

8.小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号:
<input onkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')">

只能是数字和小数点和加减乘際

onkeypress="return event.keyCode>=4&&event.keyCode<=57"



3 0