【React-Native】iOS TextInput 仅允许输入一个汉字

今天,来了个需求,需要根据提示,输入完整的公司名称,而输入的内容只能是单个的汉字;

然后,iOS端如果仅设置TextInput的maxLength 为 1的话,用户拼音是没法使用的,所以就选了个折中的方案:

当用户输入汉字的时候,仅获取第一个!如下:

import React, { useState } from "react";
import { View, TextInput, Platform } from "react-native";

export default function LoginPage() {
  const [input, setInput] = useState("123");
  return (
    <View style={{ flex: 1, marginTop: 50 }}>
      <TextInput
        maxLength={Platform.OS === "android" ? 1 : 99}
        value={input}
        onChangeText={text => {
          // 当中文的时候,取第一个
          if (text.match(/^[\u4e00-\u9fa5]+$/)) {
            setInput(text[0]);
          } else {
            setInput(text);
          }
        }}
      />
    </View>
  );
}

你可能感兴趣的:(React-Native,RN,textinput,RN,textinput中文,RN,中文,一个,RN输入一个中文,iOS仅输入一个中文)