2010-07-21 5 views
0

Supposons qu'un utilisateur ne souhaite pas que les utilisateurs incluent des mois ou des jours ou quelque chose qui sonne à distance dans son formulaire de zone de texte. Pourrait-il utiliser autre chose que regex pour valider cela? Y a-t-il une API intégrée pour cela? J'utilise ailleurs la gemme Chronic, mais si je l'utilisais dans ce but, ce serait probablement prêt à l'emploi.Est-ce que les rails ont une API pour vérifier et voir si les temps ou les dates existent?

Voici un exemple.

I'm offering this wonderful sheep and it's only good until June. 

Blam! Je ne peux pas avoir ça parce qu'ils ont dit le mot 'June'. Est-ce que Ruby peut détecter ça?

+1

Juin pourrait être le nom d'une personne ... – Nate

+0

Techniquement, oui, vous pouvez construire une regex, mais il y aurait un problème si le texte était "Mai et Juin offrent ce mouton merveilleux et c'est seulement bon jusqu'en Mars " – Brian

+0

Bien, alors regex fonctionne. Et je peux écrire cela, je me demandais juste s'il y avait une API intégrée dans Rails qui détecte les noms des mois. Supposons que j'ai écrit this.match API :: datetime? – Trip

Répondre

0

Cela ne répond pas à ma question, mais c'est l'alternative regex. Je l'affiche au cas où quelqu'un d'autre pourrait en avoir besoin.

/|\/|[Jj][Aa][Nn][Uu][Aa][Rr][Yy]|[Jj][Aa][Nn](\s|\.)|[Ff][Ee][Bb][Rr][Uu][Aa][Rr][Yy]|[Ff][Ee][Bb](\s|\.)|[Mm][Aa][Rr][Cc][Hh]|[Mm][Aa][Rr](\s|\.)|[Aa][Pp][Rr][Ii][Ll]|[Aa][Pp][Rr](\s|\.)|[Jj][Uu][Nn][Ee]|[Jj][Uu][Ll][Yy]|[Aa][Uu][Gg][Uu][Ss][Tt]|[Aa][Uu][Gg](\s|\.)|[Ss][Ee][Pp][Tt][Ee][Mm][Bb][Ee][Rr]|[Ss][Ee][Pp][Tt](\s|\.)|[Nn][Oo][Vv][Ee][Mm][Bb][Ee][Rr]|[Nn][Oo][Vv](\s|\.)|[Dd][Ee][Cc][Ee][Mm][Bb][Ee][Rr]|[Dd][Ee][Cc](\s|\.)|[Ss][Uu][Nn]\.|[Ss][Uu][Nn][Dd][Aa][Yy]|[Mm][Oo][Nn][Dd][Aa][Yy]|[Mm][Oo][Nn](\s|\.)|[Tt][Uu][Ee][Ss][Dd][Aa][Yy]|[Tt][Uu][Ee][Ss](\s|\.)|[Ww][Ee][Dd][Nn][Ee][Ss][Dd][Aa][Yy]|[Ww][Ee][Dd](\s|\.)|[Tt][Hh][Uu][Rr][Ss][Dd][Aa][Yy]|[Tt][Hh][Uu][Rr](\s|\.)|[Ff][Rr][Ii][Dd][Aa][Yy]|[Ff][Rr][Ii](\s|\.)|[Ss][Aa][Tt][Uu][Rr][Dd][Aa][Yy]|[Ss][Aa][Tt](\s|\.))/ 

Je n'ai pas inclus le mot 'May or may', et Sun mais il vérifie Sun.

Questions connexes