0

我想避免输入要在文本框中输入的 hypen。文本框字段用于美国格式的电话号码,因此我通过 JQuery 在第 3 位和第 6 位之后添加 -(破折号),在用户输入时自动添加,但我不希望用户输入 -(破折号) 手动通过键盘。

$("#someID").keydown(function (e){
if(e.keyCode==189){
    e.preventDefault();
}else{

    var myLength = $(this).val().length;
    var text1=$(this).val();
    if((myLength==3) ){              
        $(this).val($(this).val()+'-');
              }else if(myLength==7){
                  $(this).val($(this).val()+'-');
              }
    }  
});

189 是 -(破折号/连字符)的键码

4

2 回答 2

2

jQuery 规范化which属性,你可以使用这个属性来代替keyCode

if (e.which === 189) {

您也可以考虑使用Masked Input插件。

于 2012-12-28T10:27:42.243 回答
0

改成这样:

if(e.keyCode==109){
   //---------^^^------109 is the keycode for hyphen

你可以在这里查看:http: //www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes

于 2012-12-28T10:33:52.177 回答