2017-10-12 3 views
0

J'ai un champ de texte pour la position d'emploi dans ma forme, et je dois ajouter la validation comme ceci:PHP Regex/Yii2 modèle permet alphabet, numérique, l'espace et un symbole/caractère spécial

  1. Deny Symbole exc: -, ,, . et /

  2. Allow alphabet, numérique, et l'espace

Je suis ajouter comme ça dans modal.php

'pattern' => '/^[a-zA-Z.,-]+(?:\s[a-zA-Z.,-]+)*$/' 

Il est un travail presque bien, il est rejeté / et numérique. Tout le monde peut réparer mon motif ci-dessus, donc il peut fonctionner comme mes requierments ci-dessus.

Merci

+0

Évidemment! '/' et les chiffres ne sont pas dans vos classes de caractères. Ajoutez-les. –

+0

Oui, j'en suis sûr. Pouvez-vous résoudre ce problème et en apprendre un peu plus sur regex? merci – Blackjack

+0

Vous pouvez apprendre un peu si vous prenez le temps de lire un tutoriel de base sur regex, je ne peux pas le faire pour vous. –

Répondre

2

les opérations suivantes:

/^[a-zA-Z0-9.,\-\/\s]+$/ 

Cela permettra à des nombres, aplhabets, espaces /, -, . et , et rien d'autre.

Et vous pouvez en apprendre plus sur regex à partir d'ici https://regexone.com

+0

Merci beaucoup :) C'est bien de travail :) – Blackjack

+0

Salut mon ami, j'ai eu un problème :(J'ai eu ce preg_match(): Pas de délimiteur de fin '^' trouvé – Blackjack

+0

@Blackjack Bien sûr, vérifier la réponse mise à jour: – mega6382