ios - Swift : textField可输入的长度为4个汉字或者8个字符。咋判断
大家讲道理
大家讲道理 2017-04-18 09:24:15
0
4
349
        if self.tf.text?.characters.count > 4 {
            Tool.alertUser("昵称最多4个汉字,或者8个字符;数字,字母占一个字符,汉字占2个字符")
            return
        }

汉字最多4个,但是有人用英文名,只有4个字母明显不够,这咋办?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全員に返信(4)
刘奇

リーリー

いいねを押す +0
小葫芦
  • まず、漢字は必ずしも 2 バイトを占めるわけではありません。

  • 次に、String().utf8.count を介して長さを制御してみることができます。

  • 最後に、正規表現を使用して制御することもできます。

いいねを押す +0
迷茫

バイト単位でカウントされる入力ボックスを多く見てきました。

いいねを押す +0
洪涛

質問の問題はこのように解決されるべきだと感じますが、中国語の文字は 3 文字を占める可能性がありますが、私たちはそれが 2 文字であると「考えています」。目的は中国語と英語のニックネームの長さを制御するためではありません。 utf8 の長さ
したがって、 if( a > 0x4e00 && a < 0x9fff){2 文字を数える中国語であると判断する必要があります}
しかし、現時点ではそれほど面倒ではなく、値に制限するだけです、たとえば、10 が適しています

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート