بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
تداخل دو onkeyup
سلام دوستان.
من یک کد جی کوئری دارم که بوسیله onkeyup از html داره دستور میگیره.
<input type="text" onkeyup="javascript:moneyCommaSep(this);document.getElementById('typed').innerHTML= convertNumberToString(this.value)+' ریال ';"/>
<div id="typed"></div>
اینم کد جی کوئری
var s_0_9 = new Array('صفر', 'یک', 'دو', 'سه', 'چهار', 'پنج', 'شش', 'هفت', 'هشت', 'نه');
var s_10_19 = new Array('ده', 'یازده', 'دوازده', 'سیزده', 'چهارده', 'پانزده', 'شانزده', 'هفده', 'هجده', 'نوزده');
var s_20_90 = new Array('بیست', 'سی', 'چهل', 'پنجاه', 'شصت', 'هفتاد', 'هشتاد', 'نود');
var s_100_900 = new Array('صد', 'دویست', 'سیصد', 'چهارصد', 'پانصد', 'ششصد', 'هفتصد', 'هشتصد', 'نهصد');
var s_Parts = new Array('هزار', 'میلیون', 'میلیارد', 'تريليون');
var splitter = " و ";
var veryBig = "تعریف نشده";
var negative = "منفی";
function getPart(numberIn3) {
if (numberIn3.length > 3) {
return "";
}
var number = numberIn3.toString();
switch (number.length) {
case 1:
number = "00" + number;
break;
case 2:
number = "0" + number;
break;
}
var outString = "";
var n1 = parseInt(number.substr(0, 1));
var n2 = parseInt(number.substr(1, 1));
var n3 = parseInt(number.substr(2, 1));
if (n1 != 0) {
switch (n2) {
case 0:
if (n3 != 0) {
outString = s_100_900[n1 - 1] + splitter + s_0_9[n3];
}
else {
outString = s_100_900[n1 - 1];
};
break;
case 1:
outString = s_100_900[n1 - 1] + splitter + s_10_19[n3];
break;
default:
if (n3 != 0) {
outString = s_100_900[n1 - 1] + splitter + s_20_90[n2 - 2] + splitter + s_0_9[n3];
}
else {
outString = s_100_900[n1 - 1] + splitter + s_20_90[n2 - 2];
}
}
}
else {
switch (n2) {
case 0:
if (n3 != 0) {
outString = s_0_9[n3];
}
else {
outString = "";
}
break;
case 1:
outString = s_10_19[n3];
break;
default:
if (n3 != 0) {
outString = s_20_90[n2 - 2] + splitter + s_0_9[n3];
}
else {
outString = s_20_90[n2 - 2];
}
}
};
return outString;
}
function convertNumberToString(inputNumber) {
var tempNumber = Math.abs(inputNumber).toString();
if (tempNumber.length == 0) {
return "";
}
if (tempNumber == 0)
return s_0_9[0];
var partCount = Math.ceil((parseInt(tempNumber).toString().length / 3), 1);
if (s_Parts.length < partCount)
return veryBig;
var partFullString = new Array();
for (var i = 0; i < partCount; i++) {
var numberLength3;
var lengthToSelectFirtPart;
if (i == 0) {
lengthToSelectFirtPart = tempNumber.length - ((partCount - 1) * 3);
numberLength3 = tempNumber.substr((i * 3), lengthToSelectFirtPart);
}
else {
numberLength3 = tempNumber.substr(lengthToSelectFirtPart + ((i - 1) * 3), 3);
}
var partInWord = getPart(numberLength3);
var partIndex = (partCount - 2 - i);
var partPreFix = s_Parts[partIndex];
if (i == partCount - 1) {
partPreFix = "";
}
if (i == 0) {
if (partInWord != "") {
partFullString[i] = partInWord + " " + partPreFix;
}
else {
partFullString[i] = "";
}
}
else {
if (partFullString[i - 1] != "") {
if (partInWord != "") {
partFullString[i] = splitter + partInWord + " " + partPreFix;
}
else {
partFullString[i] = "";
}
}
else {
if (partInWord != "") {
partFullString[i] = splitter + partInWord + " " + partPreFix;
}
else {
partFullString[i] = "";
}
}
}
}
var outString = "";
for (var i = 0; i < partFullString.length; i++) {
outString += partFullString[i];
}
if (inputNumber.substr(0, 1) == "-") {
outString = negative + " " + outString;
}
return outString;
}
function moneyCommaSep(ctrl)
{
var separator = ",";
var int = ctrl.value.replace ( new RegExp ( separator, "g" ), "" );
var regexp = new RegExp ( "\\B(\\d{3})(" + separator + "|$)" );
do
{
int = int.replace ( regexp, separator + "$1" );
}
while ( int.search ( regexp ) >= 0 )
ctrl.value = int;
}
|
0
0
از این استفاده کنی مشکل کاما حل میشه :(value$)number_format (8 سال پیش)
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .