如何使用jquery过滤特殊字符和字母?

时间:2014-08-05 03:03:14

标签: javascript jquery validation

我的代码有问题我有验证。我有一个现有的验证,可以验证文本字段中的字母和特殊字符,阻止用户键入字母和特殊字符。

我想用我的代码包含验证,但我不知道如何。

这是我的一些代码:

<input type="text" class="col-md-5 quantity text-center" id="base_<?php echo $product['product_id']; ?>" name="quantity" value="<?php echo $product['quantity']; ?>" required="required" onKeyup="setQty(<?php echo $product['product_id']; ?>);" />&nbsp;pcs.

... 这是javascript验证

function setQty(id) {
        //validate if have a value and the value is not equal to 0
        if($("#base_"+id).val().length > 0 && $("#base_"+id).val() != 0){
            alert("YES");
        } else {
            alert("NO");
        }

}

这是可以验证字母和特殊字符的现有函数。

$(".quantity").keypress(function (e) {
        //if the letter is not digit then display error and don't type anything
        if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
            //display error message
            return false;
        }
    });

我想在if语句中包含它。但我没有想法。 你能给我一个更简单的解决方案吗?

好的,谢谢。

1 个答案:

答案 0 :(得分:1)

JQuery有很多插件,比如masked input plugin。 你必须“导入”它的代码,然后使用它,比如

$("#quantity").mask("99");

您可以自定义占位符(例如,文档中的所有内容):

$("#quantity").mask("99", {placeholder:" "});

由于这是一个产品数量,我认为它不会通过两位数。这是使用这个插件的优势。


其他解决方案是使用html 5和number input。实际上,它非常简单。你说你想要更简单的东西,所以我推荐这个:

<input type='number' .../>