基于lur的Javascript验证

Javascript validation onblur

本文关键字:验证 Javascript lur 基于      更新时间:2023-09-26

我已经为两个文本框编写了两次相同的javascript,但它为一个文本框运行了两个脚本,我需要编写一次,并为更多的文本框调用相同的脚本

    function checkalphabets() {
    var pattern = /^[a-zA-Z's]+$/;
    if (!pattern.test(myTextBox.value)) {
        modal({
            type: 'warning',
            title: 'Warning',
            text: 'Only Alphabets allowed!',
            center: false,
             callback: function(){ $("#myTextBox").focus();}
        });
        exit;
        return false;
    }
    return true;
}
function checkalphabets1() {
    var pattern = /^[a-zA-Z's]+$/;
    if (!pattern.test(TextBox1.value)) {
        modal({
            type: 'warning',
            title: 'Warning',
            text: 'Only Alphabets allowed!',
            center: false,
             callback: function(){ $("#TextBox1").focus();}
        });
        exit;
        return false;
    }
    return true;
}
 $('.modal-btn').click(function() {
        $('#modal-window').hide();
    });

这是小提琴

您可以将要检查的元素作为函数的参数进行传递:

function checkalphabets($el) {
    var pattern = /^[a-zA-Z's]+$/;
    if (!pattern.test($el.val())) {
        modal({
            type: 'warning',
            title: 'Warning',
            text: 'Only Alphabets allowed!',
            center: false,
             callback: function(){ $el.focus();}
        });
        return false;
    }
    return true;
}

调用时传递元素,并对元素进行检查。

checkalphabets($("#TextBox1"));
代码中的

textbox1和mytextbox是未定义的。将元素传递给函数以进行定义:

function checkalphabets(myinput) {
    var pattern = /^[a-zA-Z's]+$/;
    if (!pattern.test(myinput.value)) {
        modal({
            type: 'warning',
            title: 'Warning',
            text: 'Only Alphabets allowed!',
            center: false,
             callback: function(){ $(myinput).focus();}
        });
        exit;
        return false;
    }
    return true;
}
 $('.modal-btn').click(function() {
        $('#modal-window').hide();
    });

我还建议onkeyup而不是onblur在每个字符后进行检查:

<input name="myTextBox" type="text" id="myTextBox" onkeyup="checkalphabets(this)" />
<input name="TextBox1" type="text" id="TextBox1" onkeyup="checkalphabets(this)" />

另外,最好在警告后减去不允许使用的字符。

你能想到把这个值作为输入传递给Javascript中的函数吗;从这个变量中提取值,如下所述?

HTML:

<form method="post" action="test.aspx" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJODIwMTY2MjU3ZGQVs14nJwqB/iIms8CsXW3SCzs22w==" />
</div>
<div class="aspNetHidden">
    <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="75BBA7D6" />
</div>
    <div>
        <input name="myTextBox" type="text" id="myTextBox" onblur="checkalphabets(this)" />
        <input name="TextBox1" type="text" id="TextBox1" onblur="checkalphabets(this)" />   
    </div>
    </form>

Javascript:

function checkalphabets(thisValue) {
    var pattern = /^[a-zA-Z's]+$/;
    if (!pattern.test(thisValue.value)) {
        modal({
            type: 'warning',
            title: 'Warning',
            text: 'Only Alphabets allowed t1 & t2!',
            center: false,
             callback: function(){ $(thisValue).focus();}
        });
        exit;
        return false;
    }
    return true;
}
 $('.modal-btn').click(function() {
        $('#modal-window').hide();
    });

像wise一样,你可以使用相同的方法处理任何数量的文本框!