如何停止允许或阻止减号符号多次输入文本框?

时间:2016-03-14 15:59:50

标签: javascript jquery asp.net-mvc

我有一个文本框我必须停止允许或阻止减号不止一次输入文本框。任何人都可以帮我吗?

3 个答案:

答案 0 :(得分:1)

可以通过应用keydown处理程序在文本框中停止多个减号,如果按下减号(键45)并且输入中已经有减号,则停止事件:

$("#MyInputID").keydown(function (e) {   
    if (e.keyCode == 45 && $("#MyInputID").val().indexOf('-') != -1) { 
        event.preventDefault();
    }
});

然而,通常认为阻止输入的用户体验很糟糕,可能有更好的解决方案满足您的确切需求 - 可能是验证,或使用数字类型输入。

但如果您确定这是您想要做的事情,上述情况应该有效。

(另请注意,此方法不会阻止某人粘贴一个带有多个减号的值 - 您需要验证才能处理该问题。)

答案 1 :(得分:0)

你可以使用jquery.validation http://jqueryvalidation.org/files/demo/并添加一个带有正则表达式的规则,这样你就可以在该特定字段中向用户显示一条消息/警告,说只允许一个' - '符号

答案 2 :(得分:0)

HTML:

< input type =“text”id =“textBoxID”onkeyup =“clickMe(this)”/>

使用javascript:

function clickMe(obj)
{
    var textVal = obj.value;
    if (textVal.match(/\-/g).length > 1) {
        alert('you cannot enter - more than once');
    }
}

使用jquery

//Jquery
$('#textBoxID').keyup(function () {
    var textVal = $(this).val();
    if(ele.match(/\-/g).length > 1)
    {
        alert('you cannot enter - more than once');
    }

});

希望这有帮助