Şifre kontrolü için regex örneği
Büyük harf, küçük harf, rakam ve özel karakter şartı isteyen formlarda kullanılabilecek şifre doğrulama regex’i ve kullanım notları.
Parola alanında “en az 8 karakter, bir büyük harf, bir rakam ve bir özel karakter” kuralını tek tek kodla yazmak yerine tek bir düzenli ifadeyle kontrol edebilirsiniz.
İfadedeki (?=...) kalıpları ileriye bakış denen yapıdır: imleci ilerletmeden “bundan sonrasında şu var mı?” diye bakar. Dört ayrı ileriye bakış sırasıyla küçük harf, büyük harf, rakam ve özel karakter varlığını arar; sondaki {8,} ise toplam uzunluğu belirler.
Kuralı sıkılaştırmak isterseniz uzunluğu artırın; gevşetmek isterseniz ilgili ileriye bakış parçasını çıkarmanız yeterli. Parolayı istemci tarafında kontrol etmenin kullanıcıya hızlı geri bildirim vermek dışında bir güvenlik değeri olmadığını, aynı kontrolün sunucuda da yapılması gerektiğini unutmayın.
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$
Kısa rehber
Ne zaman kullanılır?
Şifre regex'i, kullanıcı kayıt ve parola değiştirme ekranlarında ilk kalite kontrolü için kullanılır. Ama iyi parola politikası yalnız karakter saymak değil, kullanıcıyı anlaşılır şekilde yönlendirmektir.
Dikkat edilecekler
- Kuralı kullanıcıya açık gösterin; kişi neyin eksik olduğunu tahmin etmek zorunda kalmasın.
- Çok karmaşık zorlamalar yerine uzunluğu ve tahmin edilebilir kalıpları önemseyin.
- Parolayı hiçbir zaman düz metin saklamayın; güvenli hash ve salt kullanın.
Sık yapılan hata
Aşırı katı regex yazmak kullanıcıyı daha güvenli parola seçmeye değil, kuralı kandıran zayıf parolalar üretmeye itebilir.
Projeye taşırken dikkat edin
Regex örnekleri hızlı çözüm sağlar; ancak gerçek projede veri kaynağı, satır sonu biçimi, tarayıcı/sunucu farkı ve kullanıcı hataları birlikte test edilmelidir. Web formları, yönetim panelleri ve özel yazılımlarda doğrulama yalnız ön yüzde bırakılmamalı, sunucu tarafında da kontrol edilmelidir.