Un problema encontrado en el trabajo, dos cadenas coinciden, requisitos: cada cadena contiene como máximo una *, y puede haber infinitamente múltiples
* representa una cadena de cualquier longitud, mientras? representa un personaje
El requisito puede provocar dos conflictos
Copie el código de la siguiente manera: <input type = "text" id = "str1"> <br>
<input type = "text" id = "str2"> <br>
<input type = "button" onClick = "checkmarchx ()" value = "check">
El código para implementar usando JavaScript es el siguiente:
function checkmarchx () {var str1 = document.getElementById ('str1'). valor; var str2 = document.getElementById ('str2'). valor; var str1xPosition = str1.indexof ('*'); var str2xPosition = str2.Indexof ('*'); if ((str1xPosition! =-1 && & str2xposit = str1xPosition> str2xposition? str2xposition: str1xPosition; // successif (posicion! = 0) {var patbeForestr1 = str1.substring (0, posición); var patbeForestr2 = str2.subString (0, posición); if (checkmarchq (patbeForestr1, patbeForestrin '+str2+"conflicto"); // luego pruebe la segunda mitad correspondiente var str1xbackPosition = str1.length-str1xPosition-1; var str2xbackPosition = str2.length-str2xPosition-1; var backPosition = str1xbackPosition> str2xbackPosition? str2xbackposition: str1xbackPosition; '+str2+"conflict");}else{var patbackStr1 = str1.substring(str1.length-backposition,str1.length);var patbackStr2 = str2.substring(str2.length-backposition,str2.length);if(checkMarchQ(patbackStr1,patbackStr2)){alert(str1+' and '+str2+"conflicto");}}}} else {// alerta (str1+' y '+str2+"conflicto"); var str1xbackPosition = str1.length-str1xposition-1; var str2xbackPosition = str2.length-str2xposition-1; var vAR = str1xbackPosition> str2xbackPosition? (backposition==0){alert(str1+' conflicts with '+str2+");}else{var patbackStr1 = str1.substring(str1.length-backposition,str1.length);var patbackStr2 = str2.substring(str2.length-backposition,str2.length);if(checkMarchQ(patbackStr1,patbackStr2)){alert(str1+' conflictos con '+str2+"conflictos");}}}} else if ((str1xPosition ==-1 && str2xPosition! =-1) || (str1xPosition! =-1 && str2xPosition ==-1) // Solo hay una cadena que contiene * {var strx = str1xPosition ==-1? str1xPosition ==-1? Str1: str2; // La cadena sin * if (strx.length-1 <strnox.length) {var posicion = strx.indexof (' *'); if (posicion == 0) {// alert (alert (backposition =+str2+"conflicto la primera mitad"); var backposition = strx.length-posposition-1; if (backposition conflictos con '+str2+");} else {var PatBackstr1 = str1.substring (str1.length-backPosition, str1.length); var patbackstr2 = str2.substring (str2.length-backposition, str2.length); if (checkMarchq (patbackstr1, patbackstr2)) {alerta (alerta+' conflictos con '+"+"+"+" conflictos ");}}} else {var patbeForestr1 = str1.substring (0, posición); var patbeForestr2 = str2.substring (0, posición); if (checkmarchq (patbeforestr1, patbeforStr2)) {// alerta (str1+'+'+str2+" conflicto la primera mitad "); var backposition = strx.leTer (backposition==0){alert(str1+' and '+str2+"conflict");}else{var patbackStr1 = str1.substring(str1.length-backposition,str1.length);var patbackStr2 = str2.substring(str2.length-backposition,str2.length);if(checkMarchQ(patbackStr1,patbackStr2)){alert(str1+' and '+str2+"conflicto");}}}}}}} else {if (checkmarchq (str1, str2)) {alert (str1+' y '+str2+"conflicto");}}}}} función checkmarchq (str1, str2) {var flagque = falso; if (str1.llength == str2.length) i = 0; i <str1.length; i ++) {if (str1.substr (i, 1)! = '?' && str2.substr (i, 1)! = '' ') {if (str1.substr (i, 1)! = str2.substr (i, 1) {flagque = falso; // no conflicto;} más {flagque = verdadero; // return flagque;}* Es al menos un personaje, y el programa anterior no verifica la legalidad de la entrada.
Para ver más sintaxis de JavaScript, puede seguir: "Tutorial de referencia de JavaScript" y "Guía de estilo de código JavaScript". También espero que todos apoyen más a Wulin.com.