| Descripción | Expresión regular |
|---|---|
| URL | [a-zA-z]+://[^\s]* |
| dirección IP (IP Address) | ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?) |
| Dirección de email | \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* |
| Numero de QQ | [1-9]\d{4,} |
| Etiqueta HTML (con contenido o autocerrada) | <(.*)(.*)>.*<\/\1>|<(.*) \/> |
| Contraseña (dígitos/mayúsculas/minúsculas/signos de puntuación, los cuatro obligatorios, 8 caracteres o más) | (?=^.{8,}$)(?=.*\d)(?=.*\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\n).*$ |
| Fecha (año-mes-día) | (\d{4}|\d{2})-((1[0-2])|(0?[1-9]))-(([12][0-9])|(3[01])|(0?[1-9])) |
| Fecha (mes/día/año) | ((1[0-2])|(0?[1-9]))/(([12][0-9])|(3[01])|(0?[1-9]))/(\d{4}|\d{2}) |
| Hora (hora:minuto, formato de 24 horas) | ((1|0?)[0-9]|2[0-3]):([0-5][0-9]) |
| Caracteres chinos (caracteres) | [\u4e00-\u9fa5] |
| Caracteres chinos y puntuación de ancho completo (caracteres) | [\u3000-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee] |
| Número de teléfono fijo de China continental | (\d{4}-|\d{3}-)?(\d{8}|\d{7}) |
| Numero de movil de China continental | 1\d{10} |
| Codigo postal de China continental | [1-9]\d{5} |
| Número de documento de identidad de China continental (15 o 18 dígitos) | \d{15}(\d\d[0-9xX])? |
| Entero no negativo (entero positivo o cero) | \d+ |
| Entero positivo | [0-9]*[1-9][0-9]* |
| Entero negativo | -[0-9]*[1-9][0-9]* |
| Entero (1.x) | -?\d+ |
| Decimal (0.x) | (-?\d+)(\.\d+)? |
| Palabras que no contienen abc | \b((?!abc)\w)+\b |
| Descripción | Expresión regular |
|---|---|
| Nombre de usuario | /^[a-z0-9_-]{3,16}$/ |
| Contraseña | /^[a-z0-9_-]{6,18}$/ |
| Valor hexadecimal | /^#?([a-f0-9]{6}|[a-f0-9]{3})$/ |
| Correo electrónico | /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/ |
| URL | /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/ |
| Dirección IP | /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/ |
| Etiquetas HTML | /^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/ |
| Rango de caracteres chinos en codificación Unicode | /^[u4e00-u9fa5],{0,}$/ |
| Expresión regular para coincidir con caracteres chinos | [\u4e00-\u9fa5] |
| Nota: coincidencias con chino es un dolor de cabeza; con esta expresión es fácil | |
| Coincide con caracteres de doble byte (incluidos los ideogramas chinos) | [^\x00-\xff] |
| Comentario: permite calcular la longitud de una cadena (un carácter de doble byte cuenta 2, un carácter ASCII cuenta 1) | |
| Regex que coincide con líneas en blanco | \n\s*\r |
| Comentario: se puede usar para eliminar líneas en blanco | |
| Expresión regular para coincidir con etiquetas HTML | <(\S*?)[^>]*>.*?</\1>|<.*?/> |
| Comentario: las versiones que circulan por internet son muy malas; esta también solo coincide parcialmente y sigue sin poder con las etiquetas anidadas complejas | |
| Expresión regular para coincidir con espacios en blanco al inicio y al final | ^\s*|\s*$ |
| Comentario: permite eliminar los espacios en blanco al inicio y al final de la línea (espacios, tabulaciones, saltos de página, etc.); una expresión muy útil | |
| Expresión regular que coincide con direcciones de Email | \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* |
| Comentario: muy útil para validar formularios | |
| Expresión regular para coincidir con URLs | [a-zA-z]+://[^\s]* |
| Nota: la versión que circula en línea tiene funciones muy limitadas; la anterior satisface básicamente la necesidad | |
| Comprobar si la cuenta es válida (empieza con letra, 5-16 bytes, se permiten letras, dígitos y guiones bajos) | ^[a-zA-Z][a-zA-Z0-9_]{4,15}$ |
| Comentario: muy útil para validar formularios | |
| Coincide con numeros de telefono nacionales | \d{3}-\d{8}|\d{4}-\d{7} |
| Comentario: coincide con formatos como 0511-4405222 o 021-87888822 | |
| Coincide con números de QQ de Tencent | [1-9][0-9]{4,} |
| Nota: los numeros de QQ de Tencent empiezan en 10000 | |
| Coincide con códigos postales de China continental | [1-9]\d{5}(?!\d) |
| Nota: los codigos postales de China continental tienen 6 digitos | |
| Coincidir documento de identidad | \d{15}|\d{18} |
| Comentario: los documentos de identidad de China continental tienen 15 o 18 dígitos | |
| Buscar dirección ip | \d+\.\d+\.\d+\.\d+ |
| Comentario: útil para extraer direcciones IP | |
| Buscar dígitos específicos: | |
| ^[1-9]\d*$ | // buscar enteros positivos |
| ^-[1-9]\d*$ | // buscar enteros negativos |
| ^-?[1-9]\d*$ | // buscar enteros |
| ^[1-9]\d*|0$ | //Coincide con un entero no negativo (entero positivo + 0) |
| ^-[1-9]\d*|0$ | // Coincide con enteros no positivos (enteros negativos + 0) |
| ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ | // Coincide con numeros de punto flotante positivos |
| ^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ | // Coincide con numeros de punto flotante negativos |
| ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ | // coincide con números de punto flotante |
| ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ | //Compara flotantes no negativos (flotantes positivos +0) |
| ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ | //Compara flotantes no positivos (flotantes negativos +0) |
| Comentario: útil al procesar grandes volúmenes de datos; ajústalo según el caso | |
| Coincidir con una cadena concreta | |
| ^[A-Za-z]+$ | //Coincide con una cadena formada por las 26 letras inglesas |
| ^[A-Z]+$ | //Coincide con una cadena formada por las 26 letras mayúsculas del inglés |
| ^[a-z]+$ | //Coincide con una cadena formada por las 26 letras minúsculas del inglés |
| ^[A-Za-z0-9]+$ | //Coincide con una cadena formada por dígitos y las 26 letras del inglés |
| ^\w+$ | //Coincide con una cadena formada por dígitos, las 26 letras inglesas o guiones bajos |
| Caracter | Descripción |
|---|---|
| \ | Marca el siguiente carácter como carácter especial, literal, referencia hacia atrás o secuencia de escape octal. Por ejemplo, "n" coincide con el carácter "n". "\n" coincide con un salto de línea. La secuencia "\\" coincide con "\" mientras que "\(" coincide con "(". |
| ^ | Coincide con el principio de la cadena de entrada. Si se establece la propiedad Multiline del objeto RegExp, ^ también coincide con la posición después de "\n" o "\r". |
| $ | Coincide con el final de la cadena de entrada. Si se establece la propiedad Multiline del objeto RegExp, $ también coincide con la posición antes de "\n" o "\r". |
| * | Coincide con la subexpresión anterior cero o más veces. Por ejemplo, zo* coincide con "z" y "zoo". * equivale a{0,}。 |
| + | Coincide con la subexpresión anterior una o más veces. Por ejemplo, "zo+" coincide con "zo" y "zoo", pero no con "z". + equivale a{1,}。 |
| ? | Coincide con la subexpresión anterior cero o una vez. Por ejemplo, "do(es)?" coincide con "do" o con "do" en "does". ? equivale a{0,1}。 |
| {n} | n es un entero no negativo. Coincide exactamente n veces. Por ejemplo, "o{2}" no coincide con la "o" de "Bob", pero sí con las dos o de "food". |
| {n,} | n es un entero no negativo. Coincide al menos n veces. Por ejemplo, "o{2,}" no coincide con la "o" de "Bob", pero coincide con todas las o de "foooood". "o{1,}" equivale a "o+". "o{0,}"equivale a "o*". |
| {n,m} | m y n son enteros no negativos con n<=m. Coincide al menos n veces y como máximo m veces. Por ejemplo, "o{1,3}" coincidirá con las tres primeras o en "fooooood". "o{0,1}" equivale a "o?". Ten en cuenta que no debe haber espacio entre la coma y los dos números. |
| ? | Cuando este carácter sigue inmediatamente a cualquier otro cuantificador (*, +, ?,{n},{n,},{n,m}) hace que el patrón sea no codicioso. El modo no codicioso coincide con el menor número posible de caracteres de la cadena buscada, mientras que el modo codicioso por defecto coincide con el mayor número posible. Por ejemplo, para la cadena "oooo", "o+?" coincide con una sola "o", mientras que "o+" coincide con todas las "o". |
| . | Coincide con cualquier carácter único excepto "\n". Para coincidir con cualquier carácter incluido "\n", use un patrón como "[.\n]". |
| (pattern) | Compara pattern y captura esta coincidencia. La coincidencia capturada puede obtenerse de la colección Matches resultante; en VBScript use la colección SubMatches y en JScript use las propiedades $0…$9. Para comparar un carácter de paréntesis, use \( o \). |
| (?:pattern) | Compara pattern sin capturar la coincidencia, es decir, es una coincidencia sin captura que no almacena el resultado para su uso posterior. Resulta útil al combinar las partes de un patrón con el carácter de alternancia (|). Por ejemplo, industr(?:y|ies) es una expresión más concisa que industry|industries. |
| (?=pattern) | Lookahead positivo: en cualquier inicio de cadena que coincida con el patrón, busca y hace coincidir la cadena de búsqueda. Es una coincidencia no capturada, es decir, la coincidencia no se guarda para uso posterior. Por ejemplo, "Windows(?=95|98|NT|2000)" coincide con "Windows" en "Windows2000", pero no con "Windows" en "Windows3.1". El lookahead no consume caracteres: tras una coincidencia, la búsqueda de la siguiente comienza justo después de la última coincidencia, no después del carácter que contiene el lookahead. |
| (?!pattern) | Lookahead negativo: en cualquier inicio de cadena que no coincida con el patrón, busca y hace coincidir la cadena de búsqueda. Es una coincidencia no capturada, es decir, la coincidencia no se guarda para uso posterior. Por ejemplo, "Windows(?!95|98|NT|2000)" coincide con "Windows" en "Windows3.1", pero no con "Windows" en "Windows2000". El lookahead no consume caracteres: tras una coincidencia, la búsqueda de la siguiente comienza justo después de la última coincidencia, no después del carácter que contiene el lookahead. |
| x|y | Coincide con x o y. Por ejemplo, "z|food" coincide con "z" o "food"; "(z|f)ood" coincide con "zood" o "food". |
| [xyz] | Conjunto de caracteres. Coincide con cualquiera de los caracteres incluidos. Por ejemplo, "[abc]" coincide con la "a" de "plain". |
| [^xyz] | Conjunto de caracteres negativo. Coincide con cualquier carácter no incluido. Por ejemplo, "[^abc]" coincide con la "p" de "plain". |
| [a-z] | Rango de caracteres. Coincide con cualquier carácter del rango especificado. Por ejemplo, "[a-z]" coincide con cualquier letra minúscula del rango de "a" a "z". |
| [^a-z] | Rango de caracteres negativo. Coincide con cualquier carácter que no esté en el rango especificado. Por ejemplo, "[^a-z]" coincide con cualquier carácter fuera del rango de "a" a "z". |
| \b | Coincide con un límite de palabra, es decir, la posición entre una palabra y un espacio. Por ejemplo, "er\b" coincide con el "er" de "never", pero no con el "er" de "verb". |
| \B | Coincide con un límite de palabra negativo. "er\B" coincide con "er" en "verb", pero no con "er" en "never". |
| \cx | Coincide con el carácter de control especificado por x. Por ejemplo, \cM coincide con un Control-M o retorno de carro. El valor de x debe ser A-Z o a-z. En caso contrario, c se trata como el carácter literal "c". |
| \d | Coincide con un dígito. Equivale a [0-9]. |
| \D | Coincide con un carácter no dígito. Equivale a [^0-9]. |
| \f | Coincide con un salto de página. Equivale a \x0c y \cL. |
| \n | Coincide con un salto de línea. Equivale a \x0a y \cJ. |
| \r | Coincide con un retorno de carro. Equivale a \x0d y \cM. |
| \s | Coincide con cualquier carácter de espacio en blanco, incluidos espacios, tabulaciones, saltos de página, etc. Equivale a [\f\n\r\t\v]. |
| \S | Coincide con cualquier carácter que no sea de espacio en blanco. Equivale a [^\f\n\r\t\v]. |
| \t | Coincide con una tabulación. Equivale a \x09 y \cI. |
| \v | Coincide con una tabulación vertical. Equivale a \x0b y \cK. |
| \w | Coincide con cualquier carácter de palabra incluido el guion bajo. Equivale a "[A-Za-z0-9_]". |
| \W | Coincide con cualquier carácter que no sea de palabra. Equivale a "[^A-Za-z0-9_]". |
| \xn | Coincide con n, donde n es un valor de escape hexadecimal. El valor de escape hexadecimal debe tener exactamente dos dígitos. Por ejemplo, "\x41" coincide con "A". "\x041" equivale a "\x04&1". Las expresiones regulares pueden usar codificación ASCII. |
| \num | Coincide con num, donde num es un entero positivo, como referencia a la coincidencia obtenida. Por ejemplo, "(.)\1" coincide con dos caracteres idénticos consecutivos. |
| \n | Identifica un valor de escape octal o una referencia hacia atrás. Si hay al menos n subexpresiones capturadas anteriormente, n es una referencia hacia atrás. En caso contrario, si n es un dígito octal (0-7), n es un valor de escape octal. |
| \nm | Identifica un valor de escape octal o una referencia hacia atrás. Si al menos nm subexpresiones de captura preceden a \nm, entonces \nm es una referencia hacia atrás. Si al menos n capturas preceden a \nm, entonces \nm es una referencia hacia atrás seguida del carácter literal m. Si no se cumple ninguna condición y tanto n como m son dígitos octales (0-7), \nm coincide con el valor de escape octal nm. |
| \nml | Si n es un dígito octal (0-3) y m y l son dígitos octales (0-7), coincide con el valor de escape octal nml. |
| \un | Coincide con n, donde n es un carácter Unicode representado por cuatro dígitos hexadecimales. Por ejemplo, \u00A9 coincide con el símbolo de copyright (?). |
Esta herramienta pertenece a la categoría «Formato de código y marcado».
Siempre que es posible, el contenido se procesa en tu propio navegador. No lo guardamos.
Formatear expande el código en líneas con sangrado para leerlo; minificar quita espacios y comentarios para reducir tamaño.
Solo toca espacios, saltos y comentarios. En JavaScript con inserción automática de punto y coma, prueba el resultado antes de publicarlo.
El formateo y la minificación se hacen en el cliente; nada acaba en los registros del servidor.