jQuery验证手机号码?

时间:2016-12-07 12:22:57

标签: javascript jquery

如何在input:text中通过jQuery验证用户的伊朗手机号码。伊朗手机有这样的数字系统:

091- --- ----
093[1-9] --- ----
092[1-9] --- ----
090[1-9] --- ----

一些示例前缀:

0913894----
0937405----
0935673---- 
0901524---- 
0935673---- 
0920854---- 
0921457---- 

2 个答案:

答案 0 :(得分:1)

您可以使用Jquery Validation Plugin并添加自定义规则

来自Andrew Whitaker的答案为您提供了一个很好的例子。请注意,您需要构建一个正则表达式来匹配您需要的模式。

这样的东西
09\d{2}\-\d{3}-\d{4}

对于此模式0913-xxx-xxxx

答案 1 :(得分:0)

var
mobileReg = /(0|\+98)?([ ]|-|[()]){0,2}9[1|2|3|4]([ ]|-|[()]){0,2}(?:[0-9]([ ]|-|[()]){0,2}){8}/ig,
junkReg = /[^\d]/ig,
persinNum = [/۰/gi,/۱/gi,/۲/gi,/۳/gi,/۴/gi,/۵/gi,/۶/gi,/۷/gi,/۸/gi,/۹/gi],
num2en = function (str){
  for(var i=0;i<10;i++){
    str=str.replace(persinNum[i],i);
  }
  return str;
},
getMobiles = function(str){
  var mobiles = num2en(str+'').match(mobileReg) || [];
  mobiles.forEach(function(value,index,arr){
    arr[index]=value.replace(junkReg,'');
    arr[index][0]==='0' || (arr[index]='0'+arr[index]);
  });
  return mobiles;
};

// test
console.log(getMobiles("jafang 0 91 2 (123) 45-67 jafang or +۹۸ (۹۱۵) ۸۰ ۸۰ ۸۸۸"));
console.log(getMobiles("9135561548"));
console.log(getMobiles("09131261548"));
console.log(getMobiles("+989131261548"));
console.log(getMobiles("+19132264758"));
console.log(getMobiles("981234567896547896541236542332"));