-
Notifications
You must be signed in to change notification settings - Fork 0
/
solution.ts
42 lines (35 loc) · 1.38 KB
/
solution.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/* eslint-disable no-console */
// Función para extraer todos los números de un texto
function extractNumbers(text) {
const numbers = text.match(/\d+/g);
return numbers.map(Number) || [];
}
// Función para validar un email
function validateEmail(email) {
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
return emailRegex.test(email);
}
// Función para validar un número de teléfono
function validatePhoneNumber(phoneNumber) {
// eslint-disable-next-line max-len
const phoneRegex = /^\+?\d{1,4}?[-.\s]?(\d{1,3}?[-.\s]?\d{1,4}[-.\s]?\d{1,4}[-.\s]?\d{1,9})$/;
return phoneRegex.test(phoneNumber);
}
// Función para validar una URL
function validateURL(url) {
const urlRegex = /^(https?:\/\/)?([\w-]+\.)+[\w-]+(\/[\w-]*)*\/?(\?.*)?(#.*)?$/i;
return urlRegex.test(url);
}
// Extracción de números
const text = 'El precio es 1234, la cantidad es 5678, y el código es 90.';
const numbers = extractNumbers(text);
console.log('Números encontrados:', numbers); // ["1234", "5678", "90"]
// Validación de email
const email = 'ejemplo@dominio.com';
console.log('Email válido:', validateEmail(email)); // true
// Validación de número de teléfono
const phoneNumber = '+123-456-7890';
console.log('Número de teléfono válido:', validatePhoneNumber(phoneNumber)); // true
// Validación de URL
const url = 'https://www.ejemplo.com';
console.log('URL válida:', validateURL(url)); // true