Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

Javascript ile input alanına girilen değere nasıl nokta (.) eklettirebilirim?

İyi günler arkadaşlar,

Genelde emlak scriptlerinde kullanılırken görmüşsünüzdür. Kullanıcı para miktarını yazmaya başladığı anda eğer 3 rakamdan fazla girerse araya otomatik nokta atılıyor ve paranın daha kolay anlaşılması sağlanıyor. Ör: 224.500.045 TL. Bunu javascript ile nasıl yapabilirm?

Ekli Dosyalar

+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

Cevaplar

  • cod3r adlı üyenin fotoğrafı
    13 yıl önce yazılmış
    5 cevap - 1 soru
    <HEAD>
    	<title>Parasal</title>
    </HEAD>
    
    <BODY>
    <script>
    
    function FindComma(value){
    	var len=value.length-1;
    
    	for (i=len;i>=0;i--){
    		if(value.charAt(i)== ",") { return i;}
    	}
    	return 0;
    }
    
    
    function NewMoneyFormat(obj) {
    
    	var value=obj.value;
    	var len=obj.value.length-1;
    	
    	var fstr="";
    	var fstr_comma="";
    	
    	var zerocount=4;
    	
    	var tmp="";
    	var comma=0;
    	var intlen=0;
    	var upperlimit=0;
    	
    	comma=FindComma(value);
    
    	for (i=0;i<=len;i++){
    		((value.charAt(i).match(/^([0-9])$/) || (value.charAt(i)== "," 
    		&& (comma && comma==i)))&& value.charAt(i)!= ".") ? 
    		tmp=tmp+value.charAt(i) : NaN;
    	}
    	comma=FindComma(tmp);	
    
    	if(comma>0) 
    	{ 
    		intlen=comma-1; 
    	}
    	else { intlen = tmp.length-1; }
    
    	j=0
    	for (i=intlen;i>=0;i--){
    		j++;
    		if ((j % 3)==0 && i>0){
    			fstr="." + tmp.charAt(i) + fstr;
    			j=0;
    		}	
    		else
    			fstr=tmp.charAt(i) + fstr;
    	}
    
    	if (comma>0) {
    		upperlimit = comma+zerocount
    
    		for (i=upperlimit;i>=comma;i--){
    			fstr_comma=tmp.charAt(i) + fstr_comma;
    		}
    	}
    	return fstr+fstr_comma;
    }
    
    </script>
    
    <input name="para" type="text" size="25" onkeyup="this.value=NewMoneyFormat(this);" maxlength="23">
    
    </BODY>
    
    • cod3r adlı üyenin fotoğrafı cod3r
      bende alexander dan kopya cekimm...

      ornegi

      http://jsfiddle.net/kxzuB/

      burda gorebilirsin :)
      13 yıl önce yazılmış
    • Alexander adlı üyenin fotoğrafı Alexander
      ben basit yaptım örneği yol göstermek için arkadaşa artık geliştirmek kendisine kalmış :D
      13 yıl önce yazılmış
    • cod3r adlı üyenin fotoğrafı cod3r
      yazdigin ornege bisi demedim alexander sadece benim ekledigim kodu senin ornegi gostermek icin kullandigin siteye ekledim..

      Yoksa koduna bisi demedim... ;)
      13 yıl önce yazılmış
    • Alexander adlı üyenin fotoğrafı Alexander
      bende sana bişey dedin demedim :D:D
      13 yıl önce yazılmış
  • GncArt adlı üyenin fotoğrafı
    13 yıl önce yazılmış
    42 cevap - 13 soru
    İkinizide teşekkür ederim. Ama Alexanderın verdiği cevap hem kısa hemde daha akılda kalıcı olduğu için doğru olarak işaretledim.
    • GncArt adlı üyenin fotoğrafı GncArt
      tam istediğim gibi ama derdimi yanlış anlattım galiba bu noktayı sondan başlayarak 3 er 3 er eklemeye başlasa. bu fonksiyonda ör: 1250 yazarsam değer 125.0 oluyor.
      13 yıl önce yazılmış
    • Alexander adlı üyenin fotoğrafı Alexander
      dediğim gibi ben sana örnek olması için basit bir şekilde yaptım. Senin onu biraz geliştirmen lazım. Belirtmemişim ama jquery ile yaptım .
      13 yıl önce yazılmış