带有连字符的数字的jquery验证正则表达式

时间:2011-03-03 11:42:38

标签: jquery regex

有人可以提供仅允许数字和可选连字符

的正则表达式

我已经到了phone_number.match(/ [0-9 - ] /);但没有运气

7 个答案:

答案 0 :(得分:6)

以下匹配用破折号散布的数字,但不是双破折号:

/^\d+(-\d+)*$/

答案 1 :(得分:2)

您在jquery validate plugin http://docs.jquery.com/Plugins/Validation/CustomMethods/phoneUS

中使用的内容
^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$

我来到这里寻找类似的东西,并在http://regexlib.com/找到了我需要的东西,他们有很多表达方式以及有用的备忘单。

答案 2 :(得分:0)

试试这个......

/^[0-9]+(\-[0-9]+)*$/

不是电话号码,而是您想要的评论

答案 3 :(得分:0)

试试这个插件:Masked Input jQuery plugin。它允许制作自己的面具并简化用户的输入。

答案 4 :(得分:0)

/^\w*-?\w*-?\w*$/
  • \ w * 字母数字字符重复0次或多次。
  • - ?可选连字符。

答案 5 :(得分:0)

Check this out...
  

var phoneno = / ^ +?[0-9] +( - [0-9] +)* $ /;

     

Ans + 954-555-1234

答案 6 :(得分:0)

以下是带连字符

输入的解决方案



$('input[type="tel"]').keyup(function() {
  this.value = this.value
    .match(/\d*/g).join('')
    .match(/(\d{0,3})(\d{0,3})(\d{0,4})/).slice(1).join('-')
    .replace(/-*$/g, '');
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="tel"></input>
&#13;
&#13;
&#13;