J'utilise une expression régulière pour savoir si la valeur entrée par l'utilisateur est alphanumérique, autorisant certains caractères spéciaux.Expression régulière dans PL/SQL
J'utilise le code suivant qui fonctionne très bien:
CREATE OR REPLACE PROCEDURE Validate_Inputstring (input_String IN VARCHAR2) AS
BEGIN
IF REGEXP_LIKE(input_String,'^[A-Z0-9a-z,[email protected]]*$') THEN
DBMS_OUTPUT.PUT_LINE('U have entered alphanumeric chars--->'|| input_String);
ELSE
DBMS_OUTPUT.PUT_LINE('U NOT have entered alphanumeric chars---->'|| input_String);
END IF;
END;
Les programmes ci-dessus fonctionne très bien.
Maintenant, mon poblem est ces symboles spéciaux sont dynamiques et ces valeurs varient selon l'application. En d'autres termes, ceux-ci sont stockés dans la base de données et différents pour chaque application.
Par exemple, pour l'application A, ces valeurs peuvent être , + - ? @
, pour B, elles peuvent être {^& '
.
Est-il possible d'écrire une expression régulière de sorte qu'elle vérifie les caractères alphanumériques et ces symboles spéciaux dynamiques à la fois?
J'ai essayé quelque chose comme
CREATE OR REPLACE PROCEDURE Validate_Inputstring (input_String IN VARCHAR2) AS
special_symbols VARCHAR2(300);
BEGIN
special_symbols :=',+-?';
IF REGEXP_LIKE(input_String,'^[A-Z0-9a-zspecial_symbols]*$') THEN
DBMS_OUTPUT.PUT_LINE('U have entered alphanumeric chars--->'|| input_String);
ELSE
DBMS_OUTPUT.PUT_LINE('U NOT have entered alphanumeric chars---->'|| input_String);
END IF;
END;
mais il ne fonctionne pas. Quelqu'un at-il une solution pour cela? Merci d'avance!
Est-ce un projet amusant qui nécessite une sortie Lolcode? – Svante