Ошибка выполнения Javascript: - PullRequest
4 голосов
/ 19 марта 2012

Я звоню в следующий JS, чтобы подтвердить почтовый индекс Великобритании:

<script type="text/javascript">

    function jsre(theField) {
        var chk_postalcode = "^[A-Z0-9 ]*[A-Z][A-Z0-9 ]*\d[A-Z0-9 ]*$|^[A-Z0-9 ]*\d[A-Z0-9 ]*[A-Z][A-Z0-9 ]*$";
        var txtpostalcode = document.getElementById("txtPostCode");

        if (!chk_postalcode.test(txtpostalcode.value)) {
            alert("Valid");
        } else {
            alert("Invalid");
        }
    }
</script>

<asp:TextBox ID="txtPostCode" runat="server" onchange="jsre(this);"></asp:TextBox>

Я получаю ошибку времени выполнения как:

Error: Object doesn't support property or method 'test'

Я взял помощь от http://www.9lessons.info/2009/03/perfect-javascript-form-validation.html, чтобы создать свой код.

Может кто-нибудь помочь мне, как заставить работать код?

Ответы [ 4 ]

4 голосов
/ 19 марта 2012

chk_postalcode по-прежнему string, поэтому у него нет метода test().

превратить его в объект RegExp:

var chk_postalcode = /^[A-Z0-9 ]*[A-Z][A-Z0-9 ]*\d[A-Z0-9 ]*$|^[A-Z0-9 ]*\d[A-Z0-9 ]*[A-Z][A-Z0-9 ]*$/;
3 голосов
/ 19 марта 2012

Должно быть:


//add slashes and remove quotes
var chk_postalcode = /^[A-Z0-9 ]*[A-Z][A-Z0-9 ]*\d[A-Z0-9 ]*$|^[A-Z0-9 ]*\d[A-Z0-9 ]*[A-Z][A-Z0-9 ]*$/;
3 голосов
/ 19 марта 2012

"^[A-Z0-9 ]<em>[A-Z][A-Z0-9 ]</em>\d[A-Z0-9 ]<em>$|^[A-Z0-9 ]</em>\d[A-Z0-9 ]<em>[A-Z][A-Z0-9 ]</em>$" изменить на /^[A-Z0-9 ]<em>[A-Z][A-Z0-9 ]</em>\d[A-Z0-9 ]<em>$|^[A-Z0-9 ]</em>\d[A-Z0-9 ]<em>[A-Z][A-Z0-9 ]</em>$/.Убрать двойные кавычки и поставить косую черту.

2 голосов
/ 19 марта 2012

попробуй

var chk_postalcode = /^[A-Z0-9 ]*[A-Z][A-Z0-9 ]*\d[A-Z0-9 ]*$|^[A-Z0-9 ]*\d[A-Z0-9 ]*[A-Z][A-Z0-9 ]*$/;
...