7-12 basamak maç için düzenli ifade;

3 Cevap php

Ben şimdi bir süre için bir PHP düzenli ifade sorunu çözmeye çalışıyorlar ama ben sadece oldukça halletmek olamaz. Ben 7 ve 12 basamak (0 .. 9) ve isteğe bağlı olarak bir tek tire veya bitişik basamak arasında tek bir boşluk var ya da olabilir arasında eşleşecek bir düzenli ifade yazmak gerekir. Bu ben bugüne kadar ne var ...

$match1 = preg_match('/^\d[0-9\-\s]{5,10}\d$/', $number);
$match2 = preg_match('/(-\s|\s-|--|\s\s)/', $number);

Gördüğünüz gibi iki farklı kontrolleri kullanmak zorunda ve ben bu giriş dizesi olabildiğince hala benim için yeterli değil: "1-2-3-4-5" ve orada 9 karakter toplam vardır ama çünkü hala geçecek sadece 5 basamak vardır çünkü başarısız.

Konuda herhangi bir yardım büyük olurdu, teşekkürler!

3 Cevap

Nasıl hakkında:

/ ^ (\ D [- \ s]?) {6,11} \ d $ /

Bu normal ifade deneyin:

/^\d(?:[-\s]?\d){6,11}$/

Bu, bir tire veya boşluk karakteri ile ayrılmış olabilir 7-12 basamak sağlar.

Bu regex deneyin:

\d([-\s]?\d){6,11}