2013-10-07 70 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"; 
} 

}