Método uno:
Cuando trabaje en un proyecto, es posible que necesite utilizar js para verificar la exactitud de la entrada del formulario. En este caso, deberá utilizar expresiones regulares js. Por ejemplo: por ejemplo, si desea verificar el mes, el formato es: 'aaaa-MM'. Esta expresión regular es muy sencilla de escribir. Si realmente no puede escribirla, también puede utilizar Google y Baidu. ¡Hay muchos ejemplos en Internet! Sin embargo, si la expresión regular js se escribe de esta manera, también traerá nuevos problemas: ¿Qué pasa si se cambia el formato del mes del archivo de configuración? ¿Cambiarlo a 'aaaaMM' o 'aaaa_MM'...? ? ¿Tenemos que acordarnos de cambiar las expresiones regulares en js una y otra vez? ?
En este momento tenemos que preguntar: ¿Cómo podemos escribir expresiones regulares dinámicas? Después de modificar el archivo de configuración, ya no necesitamos tocar el código.
El autor revisó el manual de js y no encontró una manera de convertir la cadena en una expresión regular. Sin embargo, este problema se puede resolver indirectamente utilizando el método eval() para ejecutar dinámicamente el script. ¡Escribiendo así un código más versátil!
A continuación se publica una solución general al ejemplo anterior:
Copie el código de código de la siguiente manera:
/**
* Verifique si la entrada del formulario del mes es legal
* patrón: cadena de formato de mes
* identificación: identificación del formulario
*/
función validarMes(patrón, id) {
var texto = document.getElementById(id);
var mesStr = texto.valor;
var splitChar = "";
if(patrón.longitud > 6) splitChar = patrón.subcadena(4, patrón.longitud - 2);
eval("var re = ///d{4}" + splitChar + "//d{2}$/;");
//var re = //d{4}-/d{2}$/;
if(mesStr.match(re) == nulo) {
alert("¡Consulte el formato [" + patrón + "] para la entrada!/n" + "por ejemplo, /"2010" + splitChar + "11/" o /"2010" + splitChar + "03/"");
texto.valor = "";
texto.enfoque();
devolver falso;
}
devolver verdadero;
}
Copie el código de código de la siguiente manera:
/**
* Verifique si la entrada del formulario del mes es legal
* patrón: cadena de formato de mes
* identificación: identificación del formulario
*/
función validarMes(patrón, id) {
var texto = document.getElementById(id);
var mesStr = texto.valor;
var splitChar = "";
if(patrón.longitud > 6) splitChar = patrón.subcadena(4, patrón.longitud - 2);
eval("var re = ///d{4}" + splitChar + "//d{2}$/;");
//var re = //d{4}-/d{2}$/;
if(mesStr.match(re) == nulo) {
alert("¡Consulte el formato [" + patrón + "] para la entrada!/n" + "por ejemplo, /"2010" + splitChar + "11/" o /"2010" + splitChar + "03/"");
texto.valor = "";
texto.enfoque();
devolver falso;
}
devolver verdadero;
}
Una cosa que vale la pena señalar: cuando se deletrea dinámicamente una cadena de script y se pasa al método eval() para su ejecución, es necesario utilizar un carácter de escape como carácter '/'.
Método dos:
Copie el código de código de la siguiente manera:
<guión>
var n=nueva matriz( ".htm ", ".html ", ".shtml ");
//var patrón1 = new RegExp( "//w+// "+n[0]+ "$ ", "gi ");
var s1= "b.shtml";
resultado var = falso;
para(var i=0;i <n.longitud;i++)
{
patrón1 = nueva RegExp( "//w+// "+n[i]+ "$ ", "gi ");
resultado|=patrón1.prueba(s1);
}
alerta(Booleano(resultado));
</script>