Les caractères non alphanumériques sont les suivants -
@,!,#,&,(),?, /
Il n'existe pas de fonction intégrée dans MySQL pour supprimer les caractères non alphanumériques d'une chaîne. Par conséquent, nous créons une fonction qui supprime tous les caractères non alphanumériques. La déclaration et la définition de la fonction sont les suivantes.
mysql> delimiter // mysql> CREATE FUNCTION RemoveNonAlphaNumeric( s CHAR(255) ) RETURNS CHAR(255) DETERMINISTIC -> BEGIN -> DECLARE var1, length SMALLINT DEFAULT 1; -> DECLARE result CHAR(255) DEFAULT ''; -> DECLARE ch CHAR(1); -> SET length = CHAR_LENGTH( s ); -> REPEAT -> BEGIN -> SET ch = MID( s, var1, 1 ); -> IF ch REGEXP '[[:alnum:]]' THEN -> SET result =CONCAT(result ,ch); -> END IF; -> SET var1 = var1 + 1; -> END; -> UNTIL var1 >length END REPEAT; -> RETURN result ; -> END // Query OK, 0 rows affected (0.10 sec)
La fonction nommée "RemoveNonAlphaNumeric" supprime tous les caractères non alphanumériques d'une chaîne. Pour vérifier, nous allons maintenant appeler la fonction définie par l'utilisateur.
mysql>delimiter ; mysql> select 'My Email id is test@123!',RemoveNonAlphaNumeric('My Email id is test@123!');
Vous trouverez ci-dessous le résultat montrant la suppression réussie des caractères alphanumériques à l'aide de la fonction "RemoveNonAlphaNumeric".
+--------------------------+---------------------------------------------------+ | My Email id is test@123! | removeNonAlphaNumeric('My Email id is test@123!') | +--------------------------+---------------------------------------------------+ | My Email id is test@123! | MyEmailidistest123 | +--------------------------+---------------------------------------------------+ 1 row in set (0.15 sec)
Dans cette chaîne (MyEmailidistest123), il n'y a pas de @ et ! Il y a maintenant des symboles, ce qui signifie que la fonction fonctionne correctement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!