如何在input:text
中通过jQuery验证用户的伊朗手机号码。伊朗手机有这样的数字系统:
091- --- ----
093[1-9] --- ----
092[1-9] --- ----
090[1-9] --- ----
一些示例前缀:
0913894----
0937405----
0935673----
0901524----
0935673----
0920854----
0921457----
答案 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"));