使用jQuery键入时验证表单输入字段?

时间:2015-06-04 13:02:09

标签: javascript jquery

我有脚本:

<script>
jQuery(document).ready(function($) {

    var firstname = "/^[A-Za-z]+$/";
    var email = /^[ ]*([^@@\s]+)@@((?:[-a-z0-9]+\.)+[a-z]{2,})[ ]*$/i;

    jQuery('input#firstname').bind('input propertychange', function() {
        if (firstname.test(jQuery(this).val())) {
            jQuery(this).css({
                'background': '#C2D699'
            });
        } else {
            jQuery(this).css({
                'background': '#FFC2C2'
            });
        }
    });

    jQuery('input#email').bind('input propertychange', function() {
        if (email.test(jQuery(this).val())) {
            jQuery(this).css({
                'background': '#C2D699'
            });
        } else {
            jQuery(this).css({
                'background': '#FFC2C2'
            });
        }
    });
});
</script>

在视图中我的视图中有两个文本框:

 @Html.TextBoxFor(m => m.Register.FirstName, new { id = "firstname", @class = "form-control", @maxlength = "16" })
 @Html.TextBoxFor(m => m.Register.Email, new { id = "email", @class = "form-control", @type = "email" })

对于电子邮件验证是有效的,但对于名字,它不是..我做错了什么?

1 个答案:

答案 0 :(得分:5)

您不需要名字regex周围的引号。

var firstname = "/^[A-Za-z]+$/"; // string
//              ^             ^

使用:

var firstname = /^[A-Za-z]+$/; // `regex`