Cấp bậc tác giả:

HTML

Cách định dạng tiền tệ trong Jquery

Được viết bởi webmaster ngày 16/07/2017 lúc 06:20 PM
Làm cách nào chỉ để nhập số chứ không được nhập chữ và nếu nhập số thì phải hiển thị cho được cái đơn vị tiền tệ bên cạnh, cũng như dấu phân cách đơn vị.
  • 0
  • 18348

Cách định dạng tiền tệ trong Jquery

Cho một textbox để nhập như sau:
<input type='text'/>
Viết hàm để định dạng nhập dữ liệu:
$('input').on('input', function(e){        
    $(this).val(formatCurrency(this.value.replace(/[,VNĐ]/g,'')));
}).on('keypress',function(e){
    if(!$.isNumeric(String.fromCharCode(e.which))) e.preventDefault();
}).on('paste', function(e){    
    var cb = e.originalEvent.clipboardData || window.clipboardData;      
    if(!$.isNumeric(cb.getData('text'))) e.preventDefault();
});
function formatCurrency(number){
    var n = number.split('').reverse().join("");
    var n2 = n.replace(/\d\d\d(?!$)/g, "$&,");    
    return  n2.split('').reverse().join('') + 'VNĐ';
}

Thêm thư viện jquery vào để hoạt động
<script type="text/javascript" src="//code.jquery.com/jquery-1.8.3.js"></script>
nhap-ky-tu-va-chuyen-doi-tien-te.jpg
Demo: http://jsfiddle.net/V2mg6/219/
Hàm định dạng tiền tệ
 function formatNumber(nStr, decSeperate, groupSeperate) {
            nStr += '';
            x = nStr.split(decSeperate);
            x1 = x[0];
            x2 = x.length > 1 ? '.' + x[1] : '';
            var rgx = /(\d+)(\d{3})/;
            while (rgx.test(x1)) {
                x1 = x1.replace(rgx, '$1' + groupSeperate + '$2');
            }
            return x1 + x2;
        }
Cách dùng:
<script>
    $("#price").text(formatNumber(700000, '.', ','));
</script>

Nguồn bài viết: DOTNET.VN

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML