javascript - 如何检查电话是否为: area code is correct using jquery?

标签 javascript jquery

嘿 我需要检查给定的电话区号是否正确。 我创建了一个输入字段,用户可以插入电话区号,例如 00440090 等。 我将输入字段限制为 4 个字符。 输入4个字符后我需要检查区号是否正确。

它应该做什么。 输入4数字后,脚本应检查以下内容。 输入的号码是否等于“00{仅限数字2位}”,如果不alert(“请输入正确的电话区号”);

我希望我能清楚地解释我的问题。 我怎样才能用javascript或jquery做到这一点?

最佳答案

“0000”是有效的区号吗?它有“00”后跟两位数字...但我假设代码是 00 然后是数字 10 或更高。

$('input.phone').keyup( function(){
  var num = $(this).val(), i = parseInt(num, 10), valid = true;
  if(num.length==4 && (i<9 || i>99) ){
    //phone number is invalid
  }
});

但我认为模糊事件在这里会更有用,因为如果用户只输入三位数字,上述函数不会通知用户。当焦点移出输入框时,通知就会出现,而不是在输入第四个数字后立即出现。所以我的建议是:

$('input.phone').blur( function(){
  var num = $(this).val(), i = parseInt(num, 10), valid = true;
  if(num.length != 4 || i<9 || i>99 ){
    //phone number is invalid, notify the user
  }
});

编辑:我认为您正在验证特定于您所在国家/地区的某种区号。如果您想验证国际电话代码,您可能希望查看此列表:http://en.wikipedia.org/wiki/List_of_country_calling_codes - 有很多 +XXX(或 00XXX)数字,这些数字不适合您的 4 个字符长输入。许多数字不是 +XX (00XX) 格式,例如美国的 +1 (001)。我认为你应该检查它是否是+或00,后跟至少一位非零的数字,然后将其输入。

/^(\+|00)[1-9]/.test( input.value );

关于javascript - 如何检查电话是否为: area code is correct using jquery?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2524008/

相关文章:

javascript - d3.js 不读取 Python 生成的 JSON

javascript - 无法删除 DOM

javascript - 未捕获的异常 : Syntax error, 无法识别的表达式:#

javascript - Jquery 将文本附加到元素

javascript - 在选择之前检测自动完成建议选项

javascript - 一个下拉菜单的结果由两个决定

用于移动设备的 Javascript onClick

javascript - 如何在 JavaScript 中获取浏览器时区

javascript - 在 Angular 中使用双向数据绑定(bind)在作用域之间传递数组的正确方法是什么?

javascript - 嵌套for循环显示重复的输出