Regex sabit format numaraları eşleşen

3 Cevap php

Hızlı regex soru (i ona korkunç olduğum)

Ben sadece ya var bir alan var:

XXXXXXXXXX veya XXXXXX-XXXX X reel sayıdır.

Bonus regex PHP'nin regex fonksiyonları ile çalışır eğer.

The Answer:

İşte RoBorg's cevabını kod ilgilenenler için, bu.

if(!preg_match("/^\d{6}-?\d{4}$/", $var))
{
    // The entry didn't match
}

3 Cevap

/^\d{6}-?\d{4}$/

İşte

^     Start of string
\d{6} a digit, repeated exactly 6 times
-?    an optional "-"
\d{4} a digit, repeated exactly 4 times
$     end of string

Just quickly, it'd be something like this: \d{6}-?\d{4}

Siz PHP tire kaçmak zorunda kalabilirsiniz.

Eğer belirli bir sayıda (soru ifadesi aslında biraz belirsizdi) istiyorsanız, (örneğin) için arama:

^123456-?7890$

Bu biçimi ile any, 10 haneli numara arıyor varsa, arayın:

^\d{6}-?\d{4}$

Çizgi sonra ? niteleyici "önceki işletmenin 0 veya 1 tekrarlarını" anlamına gelir