J'ai par exemple: (111) 222-3333 - Verizon ... Je veux quand je sélectionne cette remplir dans deux zone de texte. La première zone de texte ayant (111) 222-333 et dans la deuxième zone de texte avec Verizon. Est-ce possbile avec jquery?comment diviser/enlever les caractères indésirables
Répondre
Sons comme le travail pour un regular expression:
var text = "(111) 222-3333 - Verizon";
var regexp = /(\(\d{3}\)\s\d{3}-\d{4}) - ([A-Za-z ]+)/;
result = regexp.exec(text);
if (result) {
alert('Number: ' + result[1] + '\nCarrier: ' + result[2]);
}
else {
alert('No match');
}
Un peu de recherche devrait se présenter une expression régulière plus robustes pour correspondre à des numéros de téléphone.
De même, vous pouvez utiliser jQuery pour vous aider à déplacer les valeurs de résultat, par exemple, $('#number_text_box').text(result[1]);
, mais l'expression régulière est une chose javascript, elle ne dépend pas de jQuery.
Mise à jour: cette expression ajoute groupes de capture, ()
autour de chaque partie du nombre.
var regexp = /\((\d{3})\)\s(\d{3})-(\d{4}) - ([A-Za-z ]+)/;
Vous pouvez ensuite coller les chiffres ainsi:
var number = result[1] + result[2] + result[3];
var carrier = result[4];
Un bon endroit pour expérimenter est dans le navigateur lui-même - dans la console de Firebug ou Webkit, vous pouvez exécuter javascript comme ceci directement pour le tester .
Pouvez-vous décrire cela un peu plus? Quel est le séparateur ici? Si c'est un '-' alors vous pouvez le faire dans JS natif en utilisant instr. Si la réponse est all() et que les nombres sont autorisés dans le champ 1 et que tout est passé à la case deux, alors regardez les expressions régulières pour faire la séparation où les nombres se terminent.
modifier
il est possible, mais vous êtes l'analyse syntaxique du texte et qui est jamais agréable. Que diriez-vous de mettre le nombre dans un attribut et le transporteur dans un autre attribut et quand vous sélectionnez l'élément, sortez-le en utilisant la commande attr de jquery?
@ Griegs - eh bien, j'ai un selectlistbox, avec les numéros de téléphone et les transporteurs. Ce que je voudrais faire, c'est quand je sélectionne l'un des numéros avec transporteur, je voudrais que la première zone de texte affiche juste le numéro de téléphone et la deuxième zone de texte pour montrer seulement le transporteur. Est-ce possible avec Jquery? Si oui, comment pourrais-je résoudre cela? – hersh
deux façons de le faire, que ce soit vous pouvez utiliser
var str="(111) 222-3333 - Verizo"
var result=str.split(" - ");
//var result[0] and result[1]
si vous voulez être plus précise à valeur variable que vous pouvez utiliser un jquery plugin agréable dans jquery créé par James Padolsey qui permet regex à utiliser pour la sélection.
Supposons que vous avez la div suivante:
<div class="asdf">
Padolsey's :regex filter can select it like so:
$("div:regex(class, .*sd.*)")
- 1. Comment faire pour supprimer les caractères indésirables
- 2. Dnsqueryconfig retourne les caractères indésirables!
- 3. Comment faire pour supprimer les caractères indésirables d'une chaîne?
- 4. Recherche de caractères indésirables dans une chaîne
- 5. Caractères indésirables à la place des caractères arabes
- 6. Les caractères chinois sont affichés comme des caractères indésirables dans asp.net
- 7. Garniture des caractères indésirables à partir de la variable
- 8. Comment faire pour ignorer les caractères indésirables de la zone de texte (JavaScript ou jQuery)
- 9. Filtrage d'une chaîne de caractères indésirables en Java
- 10. C++ - Caractères indésirables imprimés dans le fichier de sortie
- 11. Suppression des caractères indésirables d'une chaîne en Python
- 12. distances indésirables
- 13. Empêcher Perforce de vérifier les fichiers indésirables
- 14. Comment puis-je supprimer les lignes indésirables des journaux jboss?
- 15. PHP: Comment éviter les sauts de ligne indésirables
- 16. Treeview - Comment "supprimer" les lignes de nœuds indésirables par programme
- 17. Comment nettoyer mon émulateur Android d'applications indésirables?
- 18. Comment supprimer des éléments indésirables d'une matrice?
- 19. Drupal: noeuds dupliqués indésirables
- 20. Comment faire correspondre les caractères indésirables dans la base de données MySQL avec des lettres arabes avec PHP et MYSQL
- 21. Suppression des caractères indésirables de la zone de texte avec JQuery
- 22. Obtenir des caractères indésirables dans Firefox où fonctionne aussi bien dans IE
- 23. Une exception non gérée renvoie des caractères indésirables au lieu de l'erreur
- 24. Comment empêcher les mauvais utilisateurs et les spammeurs d'insérer des données indésirables dans les forums?
- 25. ProtoInclude ajoute des dépendances indésirables
- 26. Pourquoi le texte de Assembly.GetManifestResourceStream() commence-t-il par trois caractères indésirables?
- 27. MySQL requête de sélection - supprimer les lignes indésirables
- 28. Java: caractères indésirables au début d'un fichier en tant que résultat de sérialisation
- 29. Comment lire les caractères chinois?
- 30. Comment valider les caractères Unicode?
@ Seth - hey, votre suggestion est géniale. Au lieu de retourner (111) 222-3333, qu'en est-il juste 1112223333? – hersh
Pour ce faire, ajoutez d'autres groupes de capture, puis joignez-les ensemble - voir Modifier. – Seth