用于SMS的jQuery Keyup Count TextLength

用于SMS的jQuery Keyup Count TextLength,jquery,sms,keyup,Jquery,Sms,Keyup,我正在创建一个短信发送者。我有一个文本框。现在我使用jquerykeyup事件来计算文本长度 <form> <div class="form-group"> <label for="sms">SMS</label> <textarea rows="5" class="form-control" id="sms" name="sms"></textarea> <sp

我正在创建一个短信发送者。我有一个文本框。现在我使用jquerykeyup事件来计算文本长度

<form>
    <div class="form-group">
        <label for="sms">SMS</label>
        <textarea rows="5" class="form-control" id="sms" name="sms"></textarea>
        <span class="pull-right" id="smslength">0</span>
    </div>
    <button type="submit" class="btn btn-default">SMS Gönder</button>
</form>
<script type="text/javascript">
    $('#sms').keyup(function(){
        sms = $(this).val();
        $('#smslength').html(sms.length);
    })
</script>

短讯服务
0
SMS Gönder
$('#sms').keyup(函数(){
sms=$(this.val();
$('#smslength').html(sms.length);
})
但对于特殊角色,短信数量为2(如Ş、ş、Ğ、Ğ、ı、İ)

当我输入上面的字符时,我想计算为两个字符。jQuery有多字节字符的功能吗


只需包含一个if块,用于检查按下的键的字符代码(以及它是否为上述字符代码之一)


风险值代码=[“Ş”、“ş”、“Ğ”、“ğ”、“ı”、“İ”];
$('#sms').keyup(函数(e){
if($.INARAY(如字符代码、代码)){
//双值
}否则{
//正常值
}
})
这是我的html代码

<form>
    <div class="form-group">
        <label for="sms">SMS</label>
        <textarea rows="5" class="form-control" id="sms" name="sms" maxlength="745"></textarea>
        <span class="pull-right"><span id="smslength">0</span> / <span id="maxsmslength">745</span> [SMS Adeti: <span id="smscount">0</span>]</span>
    </div>
    <button type="submit" class="btn btn-default">SMS Gönder</button>
</form>

短讯服务
0/745[短信Adeti:0]
SMS Gönder
这是我的jQuery代码

<script type="text/javascript">
    $('#sms').keyup(function(){
        doubleChars = ["Ş", "ş", "Ğ", "ğ", "ç", "ı", "İ"];

        sms = $(this).val();
        textlength = sms.length;

        smslength = 0;

    if(textlength > 0){
            for(i=0; i < textlength; i++){
                if($.inArray(sms.charAt(i), doubleChars) !== -1){
                    //double value
                    smslength += 2;
                }else{    
                    //normal value
                    smslength++
                }
            }
        }

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

        if(smslength == 0){
            smscount = 0;
        } else if(smslength > 0 && smslength <= 155){
            smscount = 1;
        } else if(smslength > 155 && smslength <= 298){
            smscount = 2;
        } else if(smslength > 298 && smslength <= 447){
            smscount = 3;
        } else if(smslength > 447 && smslength <= 596){
            smscount = 4;
        } else if(smslength > 596 && smslength <= 745){
            smscount = 5;
        }

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

$('#sms').keyup(函数(){
doubleChars=[“Ş”、“ş”、“Ğ”、“Ğ”、“ı”、“İ”];
sms=$(this.val();
textlength=sms.length;
smslength=0;
如果(文本长度>0){
对于(i=0;i}否则,如果此处的(smslength>0&&smslength 155&&smslength 298&&smslength 447&&smslength 596&&smslength)($.inArray(e.charCode,code)代码正确或应该是cars?应该是cars或您为代码数组指定的名称(对不起,输入错误)
<script type="text/javascript">
    $('#sms').keyup(function(){
        doubleChars = ["Ş", "ş", "Ğ", "ğ", "ç", "ı", "İ"];

        sms = $(this).val();
        textlength = sms.length;

        smslength = 0;

    if(textlength > 0){
            for(i=0; i < textlength; i++){
                if($.inArray(sms.charAt(i), doubleChars) !== -1){
                    //double value
                    smslength += 2;
                }else{    
                    //normal value
                    smslength++
                }
            }
        }

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

        if(smslength == 0){
            smscount = 0;
        } else if(smslength > 0 && smslength <= 155){
            smscount = 1;
        } else if(smslength > 155 && smslength <= 298){
            smscount = 2;
        } else if(smslength > 298 && smslength <= 447){
            smscount = 3;
        } else if(smslength > 447 && smslength <= 596){
            smscount = 4;
        } else if(smslength > 596 && smslength <= 745){
            smscount = 5;
        }

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