JavaScript 表單驗證

一:表單數字範圍驗證:

<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" οnkeyup="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" οnblur="check_num_value('當前驗證字段經緯度',this,0,60)"></asp:TextBox>&nbsp;&nbsp;分&nbsp;&nbsp;
                        <asp:TextBox ID="Y_Miao" runat="server" Width="20%" CssClass="txtBox" οnblur="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( )方法返回通過參數傳入的字符串出現的開始位置,而郵箱地址必爲類似於[email protected] 的結構,在用戶提交的標記爲郵箱地址的字符串中,通過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=驗證郵箱地址 οnclick="EmailAddressTest()">
</form>
</body>


1.文本框只能輸入數字代碼(小數點也不能輸入)
<input οnkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">

2.只能輸入數字,能輸小數點.
<input οnkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')">
<input name=txt1 οnchange="if(/\D/.test(this.value)){alert('只能輸入數字');this.value='';}">

3.數字和小數點方法二
<input type=text t_value="" o_value="" οnkeypress="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" οnkeyup="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" οnblur="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 οnkeyup="value=value.replace(/[\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))" maxlength=10 name="Numbers">

5.只能輸入英文字母和數字,不能輸入中文
<input οnkeyup="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 οnkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')">

只能是數字和小數點和加減乘際

οnkeypress="return event.keyCode>=4&&event.keyCode<=57"



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章