空间验证需要质量

时间:2013-08-31 11:45:25

标签: javascript jquery validation trim

JS:

var KEYS = { SPACE: 32 };
var str = $('#id_phone_daytime').val();

$("#id_phone_daytime").keyup(function(e) {
    $.trim(str)
    $('#id_phone_daytime').val(str);
    if (e.keyCode == KEYS.SPACE) {
       alert("No space please")
    }
});

HTML:

请不要空格

以上代码用于验证单个输入字段的空白区域。它工作正常,但在我的应用程序中,我有8个输入字段具有不同的ID。我想验证这8个输入字段的空白区域验证。

如何用最少量的代码实现相同的功能?

3 个答案:

答案 0 :(得分:2)

不使用id选择器(必须是唯一的),而是使用class选择器,该选择器可用于对元素进行分组。试试这个:

var KEYS = { SPACE: 32 };

$(".no-spaces").keyup(function(e) {
    var $this = $(this);
    $this.val($.trim($this.val()));

    if (e.keyCode == KEYS.SPACE) {
        alert("No space please");
    }
});

您现在需要做的就是将class="no-spaces"添加到相关输入中。

答案 1 :(得分:2)

var KEYS = { SPACE: 32 };
$(".no-spaces").keyup(function(e) {
    this.value=$.trim(this.value);
    if (e.keyCode == KEYS.SPACE) {
        alert("No space please");
    }
});

答案 2 :(得分:1)

您可以使用类分配多个选择器,例如

<input type="text" class="validate_white_space">

并使用如下所示的类。

var str = $('.validate_white_space').val();

$(".validate_white_space").keyup(function(e) {
    $.trim(str)
    $('#id_phone_daytime').val(str);
    if (e.keyCode == KEYS.SPACE) {
        alert("No space please");
    }
});