if self.tf.text?.characters.count > 4 { Tool.alertUser("昵称最多4个汉字,或者8个字符;数字,字母占一个字符,汉字占2个字符") return }
汉字最多4个,但是有人用英文名,只有4个字母明显不够,这咋办?
光阴似箭催人老,日月如移越少年。
雷雷
首先,一個漢字並不是一定佔 2 個位元組。
其次,你可以嘗試透過 String().utf8.count 控制長度。
String().utf8.count
最後,你也可以透過正規表示式來控制。
我看過好多輸入框都是按字節計數的。
我感覺題主的問題應該這樣解決,雖然漢字可能佔3個字符,但是我們"認為"是兩個字符,目的是控制中英文暱稱長度,而不是為了utf8長度所以應該判斷if( a > 0x4e00 && a 但是目前都不這麼費力,直接統一限制一個值就好了,比如10就不錯
雷雷
首先,一個漢字並不是一定佔 2 個位元組。
其次,你可以嘗試透過
String().utf8.count
控制長度。最後,你也可以透過正規表示式來控制。
我看過好多輸入框都是按字節計數的。
我感覺題主的問題應該這樣解決,雖然漢字可能佔3個字符,但是我們"認為"是兩個字符,目的是控制中英文暱稱長度,而不是為了utf8長度
所以應該判斷if( a > 0x4e00 && a 但是目前都不這麼費力,直接統一限制一個值就好了,比如10就不錯