Colección completa de expresiones regulares de VUE

1. Sintaxis básica de expresiones regulares.

var expression = /pattern(模式)/flags(标识符);

2. Cómo crear una expresión regular

1. Creación literal

El código se muestra a continuación:

//匹配字符串中所有“at”的实例
var e = /at/g;
//匹配第一个“bat”或“cat”,不区分大小写
var e = /[bc]at/i;

2.Creación del constructor RegExp

El constructor RegExp recibe dos parámetros, el primer parámetro es el patrón de cadena que debe coincidir y el segundo parámetro es una cadena de identificación opcional. El código se muestra a continuación:

//匹配第一个“bat”或“cat”,不区分大小写
var e = new RegExp("[bc]at","i");

Comparación de dos métodos de creación :

En ECMAScript3, la diferencia entre la creación literal y la creación de objetos RegExp es: la creación literal siempre comparte la misma instancia RegExp, y cada instancia RegExp creada por el constructor es una nueva instancia. ECMAScript5 estipula claramente que el uso de expresiones literales regulares debe ser como llamar al constructor RegExp. directamente, se crea una nueva instancia de RegExp cada vez. IE9+, Firefox 4+ y Chrome han realizado cambios.

Cabe señalar que los metacaracteres en las expresiones regulares deben tener caracteres de escape . Los metacaracteres son:

( [ { \ ^ $ | ) ? * + . ] }

Por ejemplo:

//匹配第一个“[bc]at”,不区分大小写
var e = /\[bc\]at/i;
//在RegExp构造函数创建时,元字符需要双重on转义
var e = new RegExp("\\[bc\\]at","i");

3. Propiedades y métodos de instancias RegExp

Propiedades de instancia RegExp

  • ignoreCase devuelve un valor booleano que indica si el objeto RegExp tiene el indicador i
  • global devuelve un valor booleano que indica si el objeto RegExp tiene representación g
  • multilínea devuelve un valor booleano que indica si el objeto RegExp tiene representación m
  • lastIndex es un número entero que identifica la posición del carácter donde comienza la siguiente coincidencia.
  • soure devuelve el texto original de la expresión regular (excluyendo las barras invertidas)
  • Realizo una coincidencia que no distingue entre mayúsculas y minúsculas.
  • g realiza una coincidencia global (busca todas las coincidencias en lugar de detenerse después de encontrar la primera coincidencia)
  • m realiza coincidencia de varias líneas

Coincidencia de clases de personajes

  • [...] Encuentra cualquier carácter entre corchetes
  • [^..] Encuentra cualquier carácter que no esté entre corchetes
  • [az] encuentra cualquier carácter desde la a minúscula hasta la z minúscula
  • [AZ] Encuentra cualquier carácter desde la A mayúscula hasta la Z mayúscula
  • [Az] Encuentra cualquier carácter desde la A mayúscula hasta la z minúscula
  • .Busca caracteres individuales excepto líneas nuevas y terminadores de línea.
  • \w busca caracteres de palabras, equivalentes a [a-zA-Z0-9]
  • \W busca caracteres que no sean palabras, equivalente a [^a-zA-Z0-9]
  • \s encuentra caracteres de espacio en blanco
  • \S encuentra caracteres que no son espacios en blanco
  • \d busca un número, equivalente a [0-9]
  • \D busca caracteres no numéricos, equivalente a [^0-9]
  • \b coincide con los límites de las palabras
  • \r Buscar carácter de retorno de carro
  • \t Buscar carácter de tabulación
  • \0 encuentra el carácter NULO
  • \n Buscar carácter de nueva línea

Repetir coincidencia de caracteres

  • {n,m} coincide con el elemento anterior al menos n veces, pero no más de m veces
  • {n,} coincide con el elemento anterior no más veces
  • {n} coincide con el elemento anterior n veces
  • n? coincide con el elemento anterior 0 o 1 veces, lo que significa que el elemento anterior es opcional y equivale a {0,1}
  • n+ coincide con el elemento anterior una o más veces, equivalente a {1,}
  • n* coincide con el elemento anterior 0 o más veces, equivalente a {0,}
  • n$ coincide con cualquier cadena que termine en n
  • ^n coincide con cualquier cadena que comience con n
  • ? =n coincide con cualquier cadena seguida inmediatamente por la cadena especificada n
  • ?!n coincide con cualquier cadena que no esté seguida inmediatamente por la cadena especificada n

coincidir con números específicos

  • ^[1-9]\d*$ coincide con números enteros positivos
  • ^-[1-9]\d*$ coincide con números enteros negativos
  • ^-?[0-9]\d*$ coincide con números enteros
  • ^[1-9]\d*|0$ coincide con números enteros no negativos (enteros positivos + 0)
  • ^-[1-9]\d*|0$ coincide con números enteros no positivos (enteros negativos + 0)
  • ^[1-9]\d*.\d*|0.\d*[1-9]\d*$ coincide con números positivos de punto flotante
  • ^-([1-9]\d*.\d*|0.\d*[1-9]\d*)$ coincide con números de coma 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$ coincide con números de coma flotante no negativos (números de coma flotante positivos + 0 )
  • ^(-([1-9]\d*.\d*|0.\d*[1-9]\d*))|0?.0+|0$ coincide con números de punto flotante no positivos ( números negativos de punto flotante + 0)

4. ¿Cuáles son los métodos de las expresiones regulares?

1.método ejecutivo ()

El método exec() está diseñado para el grupo de captura del patrón. Este método recibe un parámetro, que es la cadena que debe coincidir. El método devuelve una matriz que contiene el grupo de captura. Si ningún grupo de captura coincide, devuelve nulo. En la matriz devuelta Array, el primer elemento es la cadena que coincide con todo el patrón, y los otros elementos son cadenas que coinciden con los grupos de captura en el patrón. También hay dos parámetros en la matriz Array: entrada (devuelve la cadena que debe coincidir) e índice (devuelve la posición del elemento coincidente en la cadena). El grupo de captura en el patrón se refiere a la cadena entre paréntesis.

Por ejemplo:

var e = /do(es)(d)?/;
e.exec("ssdoesdo");
/**
array[0]:"doesd",
array[1]:"es",
array[2]:"d",
index:2,
input:"ssdoesdo"
**/

En el ejemplo, el patrón contiene dos grupos de captura "es" y "d", que son cadenas entre paréntesis.

2.método de prueba ()

El método test() recupera el valor especificado en la cadena. Este método recibe un parámetro y devuelve verdadero si la cadena contiene texto que coincide con el patrón; de lo contrario, devuelve falso.

Por ejemplo:

var e = /do(es)?/;
e.test("doesdo");
//true

Si hay un identificador g en la expresión regular, cada llamada al método de prueba y al método exec comenzará desde el final de la coincidencia anterior; si no hay un identificador g en la expresión regular, entonces cada llamada al método comenzará desde la cuerda. Comience a hacer coincidir desde la posición inicial.

Por ejemplo:

var e = /do(es)?/g;
e.exec("ssdoesdoesdoes");
/*
array[0]:"does",
array[1]:"es",
index:2,
input:"ssdoesdoesdoes"
*/
e.exec("ssdoesdoesdoes");
/*
array[0]:"does",
array[1]:"es",
index:6,
input:"ssdoesdoesdoes"
*/
var e = /do(es)?/g;
console.log(e.test("ssdoesdoesdoes"));
console.log(e.lastIndex);
//true
//6
console.log(e.test("ssdoesdoesdoes"));
console.log(e.lastIndex);
//true
//10
console.log(e.test("ssdoesdoesdoes"));
console.log(e.lastIndex);
//true
//14
var e = /do(es)?/;
console.log(e.test("ssdoesdoesdoes"));
console.log(e.lastIndex);
//true
//0
console.log(e.test("ssdoesdoesdoes"));
console.log(e.lastIndex);
//true
//0

5. Varias expresiones de verificación regulares de uso común

1. Coincidir con el número de teléfono móvil
/^1[34578]\d{9}$/
3. Unir números enteros positivos
/^[0-9]\d*$/
4. Coincidir con la dirección IP
/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/
5. Haga coincidir el correo electrónico
/^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/
6. Tarjeta de identificación del partido
/^(\d{14}|\d{17})(\d|[xX])$/

Supongo que te gusta

Origin blog.csdn.net/hulinhulin/article/details/133393209
Recomendado
Clasificación