Sto utilizzando la corrispondenza del modello di espressioni regolari per la convalida del modulo HTML5. L'ultima versione di Firefox mi dà un errore. Ho iniziato a vederlo solo in Firefox 46. Non penso che questo fosse un problema nelle precedenti versioni di Firefox.Errore di Firefox: impossibile controllare l'input perché il pattern non è un'espressione regolare valida: escape di identità non valido nell'espressione regolare
Unable to check
<input pattern='[\@\%]'>
because the pattern is not a valid regexp: invalid identity escape in regular expression
causati da questo molto semplice banco di prova:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<form>
<input pattern="[\@\%]">
</form>
</html>
Perché sfuggire questi personaggi considerati un errore? Sono sempre sfuggito a tutto nelle mie espressioni regolari che non è un numero o una lettera. Non ho mai avuto nulla di cui lamentarsi questo tipo di carattere di escape tranne questa versione di Firefox.
Quando ho imparato regex, mi è stato detto che tutto ciò che non era un numero o una lettera poteva avere un significato speciale. Anche se non lo fosse ora, potrebbe essere in una versione futura, quindi è meglio fuggire da loro. Non è vero?
Esiste una lista di caratteri che non dovrei sfuggire per Firefox?
_sidenote_: - non c'è bisogno di fuggire quei personaggi in classe del personaggio in quanto non hanno alcun significato speciale – rock321987