php 怎么达到js里的charCodeAt效果

新手上路,请多包涵

在tp5的验证器里面写一个自定义验证规则,验证输入的字段utf8编码字符长度在31之内

编码不太会转换,在前段我做的是js的页面验证,代码如下:

相关代码

    str = $('#txt_ssid7').val();
    var byteSize = 0;
    for (var i = 0; i < str.length; i++) {
        var charCode = str.charCodeAt(i);
        if (0 <= charCode && charCode <= 0x7f) {
            byteSize += 1;
        } else if (128 <= charCode && charCode <= 0x7ff) {
            byteSize += 2;
        } else if (2048 <= charCode && charCode <= 0xffff) {
            byteSize += 3;
        } else if (65536 < charCode && charCode <= 0x1FFFFF) {
            byteSize += 4;
        } else if (0x200000 < charCode && charCode <= 0x3FFFFFF) {
            byteSize += 5;
        } else if (0x4000000 < charCode && charCode <= 0x7FFFFFFF) {
            byteSize += 6;
        }
    }
    if (byteSize > 31) {
       alert('长度超标');
    }

请问一下 tp5的验证器里面怎么达到一样的效果呀?试过网上找的用,但是他们输入6个字汉字就有30个长度了。那汉字占3个,至少也要输入10个汉字+一个字母数字涩。。。。

阅读 1.4k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题