2 votes

L'expression rationnelle Android pour valider l'identité de l'application Android n'est pas tout à fait correcte.

J'essaie de valider le nom de l'ID de l'application Android, j'ai utilisé ce modèle regex - /com\.[a-z]+\.[a-z]+/ pour le faire mais cela ne valide que le modèle de texte com.exemple.com mais mes recherches m'ont permis de découvrir que certaines applications sur Google Play ont des noms d'identifiant de bundle comme par ex. eu.og.com o au.gh.cc.com ou même com.exemple.jk.com Comment puis-je valider tout cela avec Regex en Javascript ?

<script>
var android_prop = "com.example.com"; 
regexp =  /com\.[a-z]+\.[a-z]+/;
if (regexp.test(android_prop))
{
alert("Correct Android name");
} else {
alert("Void Android name");
}
</script>

2voto

Shasha Points 548

Après avoir vérifié et fait quelques recherches, j'ai trouvé une solution pour résoudre le problème des regex en Javascript et PHP, pour quelqu'un qui pourrait avoir ce problème à l'avenir.

POUR JAVASCRIPT :

//var android_prop = $("#android_apps_text").val(); - uncomment this if you want the value from a textarea for validation and clean off next line
var android_prop = "com.example.com || eu.gh.ho.com"; //any android name
regexp =  /^[a-z][a-z0-9_]*(\.[a-z0-9_]+)+[0-9a-z_]$/i;
if (regexp.test(android_prop))
{ 
alert("Valid android app id.");
} else {
alert("Invalid android app id.");
}

POUR PHP :

//DO NOT CREATES MATCHES VARIABLE, COPY AND PASTE THE PHP CODE BELOW
$android_prop = "com.example.com || eu.gh.cc.com"; //matches all android pattern
$re = '/^[a-z][a-z0-9_]*(\.[a-z0-9_]+)+[0-9a-z_]$/i';
if (preg_match_all($re, $android_prop, $matches)){
echo "Valid android app ID";    
} else {
echo "Invalid android app ID";
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X