-3

我是java脚本的新手。

我使用 C# 开发了一个使用 VS ASP.Net 4.0 的系统,我有超过 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. 将所需文本框的文本框突出显示为红色。

4

1 回答 1

0

对于问题 5:调用 onchange 或 onblur 方法中的方法。当您离开该字段时,它将验证。如果您想在单击任何键时进行验证,然后调用 onkeyup,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";
}

}

于 2013-10-08T08:04:49.483 回答