PDA

View Full Version : سوال: شمارش تعداد کاراکتر فارسی و انگلیسی در textarea



nsco_nsco
پنج شنبه 03 مرداد 1392, 21:11 عصر
سلام دوستان اگر دیده باشید در سایت های ارسال اس ام اس موقع ارسال و نوشتن متن در قسمت textarea مشاهده می کنیم که در زیر آن با نوشتن هر کاراکتر تعداد کل کاراکترها در زیر textarea لیست می شود می خواستم ببینم چطوری می تونیم در پی اچ پی به همین سادگی این عمل را انجام بدهیم با تشکر از همه دوستان .

Javidhb
پنج شنبه 03 مرداد 1392, 21:57 عصر
با jquery میشه....

دمو (http://sandbox.scriptiny.com/tinylimiter/)
لینک آموزش + اسکریپت (http://www.scriptiny.com/2012/09/jquery-input-textarea-limiter/)

nsco_nsco
جمعه 04 مرداد 1392, 02:23 صبح
سلام ممنون از پاسختون اما لینک دانلودش را پیدا نکردم راستی می خوام از 0 کاراکتر شروع به شمارش کنه ممنون میشم کمک کنید با تشکر

Javidhb
جمعه 04 مرداد 1392, 03:21 صبح
کاش تو قسمت جاواسکریپت می پرسیدید...

بفرمایید:

اسکریپت جی کوئری:


(function($){
var totalCharacter = 140;

$('#charactersUsed').html(0);

$('#myTextarea').on('keyup', function(){
var charactersUsed = $(this).val().length;

if(charactersUsed > totalCharacter){
charactersUsed = totalCharacter;
$(this).val($(this).val().substr(0, totalCharacter));
$(this).scrollTop($(this)[0].scrollHeight);
$('#charactersUsed').css('color', 'red');
}

$('#charactersUsed').html(charactersUsed);
});

$('#totalCharacter').html(totalCharacter);
})(jQuery);


HTML:


<textarea id="myTextarea"></textarea>
<p><span id="charactersUsed"></span> / <span id="totalCharacter"></span></p>




منبع (http://edrackham.com/javascript/how-to-create-a-textarea-character-counter-limiter-using-jquery/)

nsco_nsco
جمعه 04 مرداد 1392, 04:14 صبح
سلام ممنون از پاسختون من این کد را چک کردم اما متاسفانه جواب نمیده این کد که گذاشتم:


<head>
<script type="text/javascript" src="http://picor.ir/wp-content/uploads/2013/03/jquery-1.4.2.min_.js"></script>
<script type="text/javascript" src="http://picor.ir/wp-content/uploads/2013/03/coin-slider.min_.js"></script>
</head>

<script type="text/javascript">
(function($){
var totalCharacter = 140;

$('#charactersUsed').html(0);

$('#myTextarea').on('keyup', function(){
var charactersUsed = $(this).val().length;

if(charactersUsed > totalCharacter){
charactersUsed = totalCharacter;
$(this).val($(this).val().substr(0, totalCharacter));
$(this).scrollTop($(this)[0].scrollHeight);
$('#charactersUsed').css('color', 'red');
}

$('#charactersUsed').html(charactersUsed);
});

$('#totalCharacter').html(totalCharacter);
})(jQuery);
</script>
<textarea id="myTextarea"></textarea>
<p><span id="charactersUsed"></span> / <span id="totalCharacter"></span></p>


ممنون میشوم یاری برسانید با تشکر

AliRezaPro
جمعه 04 مرداد 1392, 09:45 صبح
ببینید

http://roy-jin.appspot.com/jsp/textareaCounter.jsp

Javidhb
جمعه 04 مرداد 1392, 10:00 صبح
اگه میتونی سعی کن جی کوئری 1.9 رو استفاده کنی(مطمئن نیستم که تاثیر داره یا نه!)



<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>training....</title>
</head>
<body>
<textarea id="myTextarea"></textarea>
<p><span id="charactersUsed"></span> / <span id="totalCharacter"></span></p>


<script src="jquery-1.9.1.js"></script>
<script type="text/javascript">
(function($){

var totalCharacter = 140;

$('#charactersUsed').html(0);

$('#myTextarea').on('keyup', function(){
var charactersUsed = $(this).val().length;

if(charactersUsed > totalCharacter){
charactersUsed = totalCharacter;
$(this).val($(this).val().substr(0, totalCharacter));
$(this).scrollTop($(this)[0].scrollHeight);
$('#charactersUsed').css('color', 'red');
}

$('#charactersUsed').html(charactersUsed);
});

$('#totalCharacter').html(totalCharacter);

})(jQuery);
</script>
</body>
</html>


این کد کاملشه که کار میکنه....

nsco_nsco
جمعه 04 مرداد 1392, 22:48 عصر
سلام ممنون از پاسختون یک سوال داشتم ایا راحی داره که مشخص کنه کاربر فارسی تایپ کرده یا انگلیسی؟ اگر فارسی بود 70 کاراکتر یک بار بنویسه یک اس ام اس و اگر انگلیسی بود 160 کاراکتر یک بار بنویسه ممنون.

nsco_nsco
شنبه 05 مرداد 1392, 01:35 صبح
دوستان ممنون میشوم یاری برسانید با تشکر از همه دوستان .

MMSHFE
شنبه 05 مرداد 1392, 08:18 صبح
باید با RegEx دنبال حروف فارسی بگردین و اگه نتیجه true داد، حتی اگه یک حرف فارسی هم داخلش باشه، باید 70 کارکتری شمارش کنید ولی اگه false بود، همون 160 کارکتری شمارش کنید. ضمناً برای شمارش صحیح تعداد کارکترهای فارسی هم از mb_strlen استفاده کنید.

nsco_nsco
شنبه 05 مرداد 1392, 08:31 صبح
سلام ممنون از پاسختون ممنون میشم یک نمونه کد قرار بدهید با تشکر .

nsco_nsco
یک شنبه 06 مرداد 1392, 07:11 صبح
سلام دوستان امیدوارم نماز و روزه و همچنین دعاهاتون قبول باشه برای ما هم دعا کنید

لطفا ممنون میشوم نمونه کدی برای این ماجرا قرار دهید با تشکر.

nsco_nsco
دوشنبه 07 مرداد 1392, 00:02 صبح
سلام دوستان کسی نیسیت یه کمک ما بکنه ؟

2undercover
دوشنبه 07 مرداد 1392, 08:34 صبح
این مثال رو بررسی کنید (پیامک فارسی می تونه شامل کاراکتر نقطه, فضای خالی, خط جدید, کاراکترهای فارسی و اعداد باشه):

MMSHFE
دوشنبه 07 مرداد 1392, 09:44 صبح
ضمناً این کار با توجه به نوع نیاز شما بهتره با JS انجام بشه و توصیه میکنم این سؤال رو در تالار Javascript مطرح کنید.