2017-01-29 1 views
0

ich schreibe diesen Code arabische Zahl auf Englisch Zahl zu konvertieren, wenn der Benutzer innerhalb testinput seine adaequat Eingabe beginnen, aber, wie ich aktivieren kann negativen Wert annimmt ich es bin verhindern eingeben (-) auf Anzahl Eingängeersetzen Zahlen innerhalb Texteingabe von Arabisch zu Englisch und akzeptieren negative Zahlen?

jQuery(document).on("keyup", ".number", function(){ 
var yas =$(this).val(); 
yas = Number(yas.replace(/[٠١٢٣٤٥٦٧٨٩]/g, function(d) { return d.charCodeAt(0)-1632;}).replace(/[٠١٢٣٤٥٦٧٨٩]/g, function(d) {return d.charCodeAt(0) - 1776;})); 
    if (isNaN (yas)) 
    {yas= 0;} 
$(this).val(yas); 

}); 

Antwort

0
String.prototype.toEnglishDigits = function() { 
    var persian = { '۰': '0', '۱': '1', '۲': '2', '۳': '3', '۴': '4', '۵': '5', '۶': '6', '۷': '7', '۸': '8', '۹': '9' }; 
    var arabic = { '٠': '0', '١': '1', '٢': '2', '٣': '3', '٤': '4', '٥': '5', '٦': '6', '٧': '7', '٨': '8', '٩': '9' }; 
    return this.replace(/[^0-9.]/g, function (w) { 
     return persian[w] || arabic[w] || w; 
    }); 
}; 

jQuery(document).on("keyup", ".number", function(){ 
    var yas =$(this).val(); 
    yas = Number((yas || '').toEnglishDigits()); 
    if (isNaN (yas)) 
     yas = 0; 
    $(this).val(yas); 
}); 

String.prototype.toEnglishDigits = function() { 
 
    var persian = { '۰': '0', '۱': '1', '۲': '2', '۳': '3', '۴': '4', '۵': '5', '۶': '6', '۷': '7', '۸': '8', '۹': '9' }; 
 
    var arabic = { '٠': '0', '١': '1', '٢': '2', '٣': '3', '٤': '4', '٥': '5', '٦': '6', '٧': '7', '٨': '8', '٩': '9' }; 
 
    return this.replace(/[^0-9.]/g, function (w) { 
 
     return persian[w] || arabic[w] || w; 
 
    }); 
 
}; 
 

 
console.log('-۱۲۳۴.۵۶۷'.toEnglishDigits());

+0

gleiche Problem es verhindern, dass ich hinzufügen (-) negative Zahl seiner konvertieren sie den Wert auf 0, wenn i eingegeben (-) innerhalb TextInput- – maali

+0

@maali Mein Code korrekt Geck ist, Überprüfen Sie den Snippet-Code. Vielleicht ist deine isNaN Funktion falsch! –