Toplamı Belirli Rastgele Ondalıklı Sayılar Üretmek

PHP
17 lines
<?php
class rastgeleOndalikliSayiOlustur{
public $sayiolustur = array();
function __construct($toplam, $kac){
$i = 0;
while ($i != $kac) {
if ($i == $kac - 1) { $this->sayiolustur[count($this->sayiolustur)] = $toplam; } else {
$this->sayiolustur[count($this->sayiolustur)] = round(lcg_value() * intval($toplam / rand(1, rand(2, $kac - $i))), 2);
$toplam -= $this->sayiolustur[count($this->sayiolustur) - 1];
}
$i++;
}
}
}
$r = new rastgeleOndalikliSayiOlustur(125, 6);
print_r($r->sayiolustur);
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
10 lines
Array
(
[0] => 26.29
[1] => 11.57
[2] => 41.69
[3] => 12.95
[4] => 14.69
[5] => 17.81
)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Düzenli İfade İle Veri Girişi Doğrulama Kontrol Sınıfı

PHP
37 lines
<?php
class duzenliIfadeKontrol {
public static function epostaKontrol($metin){
return self::kontrol($metin,"/^[^@]*@[^@]*\.[^@]*$/");
}
public static function ipKontrol($metin){
return self::kontrol($metin,"/^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:[.](?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}$/");
}
public static function hexRenkKontrol($metin){
return self::kontrol($metin,"/^#[a-fA-F0-9]{6}$/");
}
public static function hexNoKontrol($metin){
return self::kontrol($metin,"/^[a-fA-F0-9]{6}$/");
}
public static function rakamKontrol($metin){
return self::kontrol($metin,"/^[-+]?\b[0-9]+(\.[0-9]+)?$/");
}
public static function sayiKontrol($metin){
return self::kontrol($metin,"/^[-+]?\b[0-9]*\.?[0-9]+$/");
}
public static function kullaniciKontrol($metin){
return self::kontrol($metin,"/^[a-z\d_]{4,28}$/i");
}
private static function kontrol($metin,$kural){
if (preg_match($kural,$metin))
return true;
return false;
}
}
echo "E-POSTA: ".duzenliIfadeKontrol::epostaKontrol("jordigirones@gmail.com")."<br>";
echo "IP: ".duzenliIfadeKontrol::ipKontrol("192.168.12.31")."<br>";
echo "HEX RENK: ".duzenliIfadeKontrol::hexRenkKontrol("#336AA9")."<br>";
echo "HEX NO: ".duzenliIfadeKontrol::hexNoKontrol("336AA9")."<br>";
echo "RAKAM: ".duzenliIfadeKontrol::rakamKontrol("12345")."<br>";
echo "SAYI: ".duzenliIfadeKontrol::sayiKontrol("12345.6789")."<br>";
echo "KULLANICI: ".duzenliIfadeKontrol::kullaniciKontrol("jgirones");
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
7 lines
E-POSTA: 1
IP: 1
HEX RENK: 1
HEX NO: 1
RAKAM: 1
SAYI: 1
KULLANICI: 1
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX