2013-10-07 95 views
-3

我是新的java腳本。文本框驗證和顏色變化

我開發了一個使用VS ASP.Net 4.0使用C#的系統,我有超過45個Web表單,我想用Java腳本添加驗證。我有以下用於字母和數字驗證的代碼。請參閱下面的代碼。但是這段代碼不能按我想要的方式工作,因爲它可以在您按空格鍵時進行驗證。

function numeralsOnly(evt) { 
    evt = (evt) ? evt : event; 
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : ((evt.which) ? evt.which : 0)); 
    if (charCode > 31 && (charCode < 48 || charCode > 57)) { 
     alert("Enter numbers only in this field."); 
     return false; 
    } 
    return true; 
} 

function lettersOnly(evt) { 
    evt = (evt) ? evt : event; 
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : ((evt.which) ? evt.which : 0)); 
    if (charCode > 31 && (charCode < 65 || charCode > 90) && (charCode < 97 || charCode > 122)) { 
     alert("Enter letters only."); 
     return false; 
    } 
    return true; 
} 

你能否幫我解決以下問題;

1.僅對數字進行驗證,並將文本框的顏色更改爲紅色。

2.僅限字母驗證並將文本框的顏色更改爲紅色。

  1. 驗證無效的電子郵件地址並將文本框的顏色更改爲紅色。

4.驗證日期的範圍。例如如果他/她輸入無效日期如05/05/2001,我需要當前日期。

5.將文本框高亮顯示爲所需文本框的紅色。

+0

哪裏提到的代碼? –

+0

函數數字只有(evt){evt =(evt)? evt:event; var charCode =(evt.charCode)? evt.charCode:((evt.keyCode)?evt.keyCode: ((evt.which)?evt.which:0)); if(charCode> 31 &&(charCode <48 || charCode> 57)){ alert(「僅在此字段中輸入數字。 返回false; } return true; } –

+0

函數lettersOnly(evt){evt =(evt)? evt:event; var charCode =(evt.charCode)? evt.charCode:((evt.keyCode)?evt.keyCode: ((evt.which)?evt.which:0)); (charCode> 31 &&(charCode <65 || charCode> 90)&& (charCode <97 || charCode> 122)){ alert(「Enter letters only。」); 返回false; } return true; } –

回答

0

對於問題5:在onchange或onblur方法中調用該方法。當您離開字段時,它將進行驗證。如果要驗證是否單擊任何密鑰,請調用onkeyyd,onkeydown。

function Validations() { 
    var textbox = document.getElementById("TextBox1"); 
    if (textbox.value == "") { 
    textbox.style.borderColor = "Red"; 
    } 
} 

問題1:

function namevalidation(){ 
var nametb = document.getElementsByName("TB1"); 
var NameRegEx = new RegExp("^[a-zA-Z]+$"); 

var NameValue = nametb.value.trim(); 

if ((!NameRegEx.test(NameValue))) { 
    nametb.style.border = '1px solid red'; 
} 
else { 
    nametb.style.border = "none"; 
} 

}