需要使用javascript中的特殊字符验证数字

时间:2018-08-14 04:29:17

标签: javascript jquery

我仅将此脚本用于以下数字脚本:

<script type="text/javascript">
      $('#phone').bind('keyup blur',function(){ 
    var node = $(this);
    node.val(node.val().replace(/[^0-9]/g,'') ); }
    );

  </script>

当我试图在此文本上输入任何字符时使用此填充验证,这不允许我键入字符,它仅支持数字,但我希望此脚本允许额外的特殊字符,任何人对此有任何想法请帮助关于这个我我被困在这里...

2 个答案:

答案 0 :(得分:1)

您可以将特殊字符添加到正则表达式/[^0-9-+]/g中。这允许+-进入输入字段

检查代码段

$('#phone').bind('keyup blur',function(){ 
    var node = $(this);
    node.val(node.val().replace(/[^0-9-+@#]/g,'') ); }
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<input type="text" id="phone">

答案 1 :(得分:0)

我认为您正在寻找一种只删除字母而不删除特殊字符和数字的方法。 我认为您可以做到这一点,

$('#phone').bind('keyup blur',function(){ 
    var node = $(this);
    node.val(node.val().replace(/[a-z]/gi, '')); 
});

说明:

/[a-z] - will look for patters with alphabets
/gi - `g` will look for global (replace all calls with matches) and `i` means ignore case