我在javascript中有一个闭包函数,我只想调用addEventListener。我没有使用ES6,所以我不能在类中使用静态方法。
function validationFunction()
{
let _validateAlphaNumeric = function (param1)
{
return /^[0-9a-zA-Z]+$/.test(param1);
}
let _customValidation = function (param1,param2){
let a = new RegExp(param2);
return a.test(param1);
}
return {
ValidateAlphaNumeric : _validateAlphaNumeric,
CustomValidation :_customValidation
}
}
function valid(){
var validation = new validationFunction();
if(validation.ValidateAlphaNumeric(document.getElementById("Name").value)){
document.getElementById("ErrorName").innerHTML = "Alpha numeric";
}
else{
document.getElementById("ErrorName").innerHTML = "Some error";
}
if(validation.CustomValidation(document.getElementById("Name").value,"[A-Za-z]{3}"))
{
document.getElementById("ErrorName1").innerHTML = "True";
}
else{
document.getElementById("ErrorName1").innerHTML = "False";
}
}

<input type="button" value="Save" onclick="valid();">
<br>
<input type="text" id="Name">
<br>
<span id="ErrorName" style="color:red"></span>
<br>
<span id="ErrorName1" style="color:red"></span>
&#13;
这对我来说很好,当我使用addEventListener尝试此函数时出现了问题。我知道我可以在html5中使用pattern属性进行验证,但它不是关于验证我必须在onkeypress上做更多的东西。我不想为它制作另一种方法。