simple regex pour l'adresse de la rue
Je sais qu'il y a une douzaine de questions, au moins sur ce point. Je suis en train d'avoir une simple validation de l'entrée de la rue de l'adresse à l'aide de Regex lequel je vérifier au moins deux espaces dans l'entrée. La raison? pour la plupart, nous les adresses sont au moins 3 pièces, numéro de rue, nom de rue, le type (lane, lecteur, ave , st ,etc)
Je tiens à alerter l'utilisateur si l'entrée ne correspond pas au moins que, si elle a plus de trois espaces, le sens qu'il a plus de noms dans l'adresse, c'est très bien, mais le minimum pour ne pas être respectées nécessite une alerte. Mon dernier effort est au-dessous, et ne fonctionne pas.
var addregex = new RegExp("^\d{1,6}0([A-Z]{1}[a-z]{1,}0[A-Z]{1}[a-z]{1,})$|^\d{1,6}0([A-Z]{1}[a-z]{1,}0[A-Z]{1}[a-z]{1,}0[A-Z]{1}[a-z]{1,})$|^\d{1,6}0([A-Z]{1}[a-z]{1,}0[A-Z]{1}[a-z]{1,}0[A-Z]{1}[a-z]{1,}0[A-Z]{1}[a-z]{1,})$");
if (addregex.test($(this).val())) {
alert('is valid');
address.addClass('isvalid');
address.css("border", "1px solid lightgray");
} else {
address.css("border", "2px solid red");
alert("Are you sure this is a valid street address?");
address.focus();
}
Pas sûr que je comprends, c'est que d'énormes regex juste pour vérifier les deux espaces?
Je voudrais juste compter les espaces (boiseries, comparer la longueur à la longueur avec \s remplacé) - pas toutes les adresses commencent par des chiffres.
^^^
NOUS les adresses peut contenir + de la rue.
Les adresses ne sont pas régulières, et les regex ne doit pas être utilisé pour valider le, sauf si vous êtes à l'aise avec manque un beaucoup de cas (parfois 20% à 40%). Voici un article utile sur les adresses et les regex: smartystreets.com/articles/...
Je voudrais juste compter les espaces (boiseries, comparer la longueur à la longueur avec \s remplacé) - pas toutes les adresses commencent par des chiffres.
^^^
str.split(/\s+/g).length > 2
NOUS les adresses peut contenir + de la rue.
Les adresses ne sont pas régulières, et les regex ne doit pas être utilisé pour valider le, sauf si vous êtes à l'aise avec manque un beaucoup de cas (parfois 20% à 40%). Voici un article utile sur les adresses et les regex: smartystreets.com/articles/...
OriginalL'auteur dinotom | 2014-01-21
Vous devez vous connecter pour publier un commentaire.
Un test simple est tout ce dont vous avez besoin:
/^\s*\S+(?:\s+\S+){2}/
OriginalL'auteur sln
\w+(\s\w+){2,}
Description:
\w+
=> Alphanumérique, un ou plusieurs repititions\s
=> Espaces(\s\w+)
=> Un numéro de groupe de capture [\s\w+]{2,}
=> au moins 2 repititionsOriginalL'auteur Frank Mohaupt
Version améliorée basée sur ClasG de réponse.
OriginalL'auteur MasterWu
Pourquoi pas?...
OriginalL'auteur rgbflawed
Vous avez de l'viable suggestion ici. Je tiens cependant à vous offrir un regex qui, je pense, fait ce vous avez demandé:
ou, si c'est qu'un avertissement, vous pouvez même ajouter des tests de "types" que vous avez indiquées, comme:
permettant version abrégée avec ou sans arrêt complet. (Ajouter de la route, cour, etc. à volonté)
Vérifier à regex101.
Espère que cette aide,
Ce qui concerne
EDIT: n'oubliez pas d'ajouter le drapeau de la casse. 😉
OriginalL'auteur SamWhan
Je ne pouvais pas obtenir les autres gars de fonctionner pour une raison quelconque, mais ce on valide toutes les adresses que j'ai jamais venu avec...
Fondamentalement, je l'ai fait, donc c'était tout ensemble de mots, plus d'une instance d'un ensemble de nombres...
OriginalL'auteur user2472643
OriginalL'auteur Test User