Izin PHP düzenli ifade alphanumerics artı tire ve dönemleri

2 Cevap php

Gerçekten normal ifadeler anlamıyorum ve aşağıdaki normal ifadeler ne merak ediyorum. Ben benim adres ve ad ., - ve alphanumerics kabul etmek istiyorum.

Veya bu işi orada gelişmeye ihtiyaç olacak? Birisi düzenli ifadeler yıkmak eğer artı '/^[A-Z0-9 \'.-]{1,255}$/i' o yüzden daha iyi her bölümünü anlayabilir.

İşte php kodudur.

if (preg_match ('/^[A-Z0-9 \'.-]{1,255}$/i', $_POST['address'])) {
    $address = mysqli_real_escape_string($mysqli, htmlentities($_POST['address']));
} else {
    echo '<p class="error">Please enter your address!</p>';
}

if (preg_match ('/^[A-Z0-9 \'.-]{1,255}$/i', $_POST['name'])) {
    $name = mysqli_real_escape_string($mysqli, htmlentities($_POST['name']));
} else {
    echo '<p class="error">Please enter your name!</p>';
}

2 Cevap

AZ, 0-9, uzay, \, ',: Sizin desen temelde aşağıdaki (1 ila 255 karakter) birleşimini allowes.

Bu yeterince iyi olup olmadığını kendiniz karar verin.

Lütfen desen gelince:

/^[A-Z0-9 \'.-]{1,255}$/i 

Sonunda ben o harfe duyarlı değildir anlamına gelir

/^[A-Z0-9 \'.-]{1,255}$/ 

Bölü başlangıç ​​ve desen sonunu belirtmek

^[A-Z0-9 \'.-]{1,255}$

^ Başlangıcı ve $ bakmanız dizenin sonudur

[A-Z0-9 \'.-]{1,255}

1 ile 255 tekrarlama ile parantez arasındaki karakterlerin Bu allowes ve kombinasyon

/: Regex ayracı

^: dize başında maçı Çapa

[A-Z0-9 \'.-]: Mektup (AZ, hiçbir aksanlı karakter), bir sayı, bir boşluk, bir kesme işareti, bir nokta veya tire Maç

{1,255}: 1 ile 255 kez arasında.

$: dize sonundaki maç Çapa. Birlikte ^ ile, bu tüm dize sadece bir alt maç, ve olmamalıdır sağlar.

/: Regex ayracı

i: Make regex harf duyarsız