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

它应该做什么。
输入4号后,脚本应检查以下内容。
输入的数字是否等于"00{number 2 digit only}",如果不是alert("please enter correct tel areacode");

我希望我能解释清楚我的问题。
我该如何使用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 );

09-11 01:03