javascript - regulares - Regex para número de móvil con o sin código de país
javascript regex example (5)
Necesito validar un campo de texto en mi formulario de registro para el cual quiero un Regex.
El cuadro de texto aceptará un número de teléfono móvil como 9999999999 (10 dígitos, comenzando con 7 u 8 o 9). El usuario puede escribir alternativamente +919999999999, donde +91 es código de país (+91 para India, pero puede aceptar cualquier otro como +110 o +52), o también puede escribir 09999999999 (los primeros 0 para su propio país)
Aquí, el usuario tiene 3 opciones,
- agregar el número de teléfono móvil con el código de país
- simplemente sin código de país o 0 prefijado
- Con un cero prefijado en el número de móvil.
Aunque no es obligatorio, mi página está en asp.net y estoy usando el validador de expresiones regulares incorporado.
Regexp simple para la validación del número móvil de la India: /^[0]?[789]/d{9}$/
Soporte 08888888888 (anexa a cero) 7878787878,8634456876,9545559877 (cualquier número de móvil precede por 7,8,9 y lo siguen otros 9 dígitos)
Función completa
function mobileNumber(){
var Number = document.getElementById(''YOUR ELEMENT ID'').value;
var IndNum = /^[0]?[789]/d{9}$/;
if(IndNum.test(Number)){
return;
}
else{
$(''#errMessage'').text(''please enter valid mobile number'');
document.getElementById(''profile_telephoneNumber'').focus();
}
}
Por lo que puedo ver, esto debería funcionar. El prefijo es opcional y se almacena en el primer grupo de coincidencia, con el número principal en el segundo grupo.
^([0|/+[0-9]{1,5})?([7-9][0-9]{9})$
Pero si nos puede dar algunos casos de prueba para cada uno, nos ayudaría a darle una expresión regular que funcione para lo que quiere.
Apoyos a SchlaWiener en los comentarios para el límite correcto en la longitud del código de país.
También podrías hacerlo usando la manipulación de cadenas. Ver este enlace
str = "+919999999999"
cc = str.split(str.slice(-10))[0]
El resultado será +91
if(document.getElementById(''mobile_number'').value != ""){
var y = document.getElementById(''mobile_number'').value;
if(isNaN(y)||y.indexOf(" ")!=-1)
{
alert("Invalid Mobile No.");
document.getElementById(''mobile_number'').focus();
return false;
}
if (y.length>10 || y.length<10)
{
alert("Mobile No. should be 10 digit");
document.getElementById(''mobile_number'').focus();
return false;
}
if (!(y.charAt(0)=="9" || y.charAt(0)=="8"))
{
alert("Mobile No. should start with 9 or 8 ");
document.getElementById(''mobile_number'').focus();
return false
}
}
y también puedes ver en un enlace más ilustrado haz clic aquí
http://p2p.wrox.com/javascript-how/64920-validation-phone-number-mobile-number.html