Javascript 在react native中对textInput使用正则表达式

Javascript 在react native中对textInput使用正则表达式,javascript,reactjs,typescript,react-native,Javascript,Reactjs,Typescript,React Native,我似乎无法让我的正则表达式工作,所以我想我一定是做错了什么。如果有人能帮我,那就太好了 这是我的正则表达式函数 let validatePlate = (plate) => { var re = /(^[A-Z]{2}[0-9]{2}\s?[A-Z]{3}$)|(^[A-Z][0-9]{1,3}[A-Z]{3}$)|(^[A-Z]{3}[0-9]{1,3}[A-Z]$)|(^[0-9]{1,4}[A-Z]{1,2}$)|(^[0-9]{1,3}[A-Z]{1,3}$)|(^[A-Z]{

我似乎无法让我的正则表达式工作,所以我想我一定是做错了什么。如果有人能帮我,那就太好了

这是我的正则表达式函数

let validatePlate = (plate) => {
  var re = /(^[A-Z]{2}[0-9]{2}\s?[A-Z]{3}$)|(^[A-Z][0-9]{1,3}[A-Z]{3}$)|(^[A-Z]{3}[0-9]{1,3}[A-Z]$)|(^[0-9]{1,4}[A-Z]{1,2}$)|(^[0-9]{1,3}[A-Z]{1,3}$)|(^[A-Z]{1,2}[0-9]{1,4}$)|(^[A-Z]{1,3}[0-9]{1,3}$)|(^[A-Z]{1,3}[0-9]{1,4}$)|(^[0-9]{3}[DX]{1}[0-9]{3}$)/

    return re.test(plate);
};
我在textInput中使用它,如下所示:

<TextInput
onChange={validatePlate}
editable={true}
}}>
Hello
</TextInput>

你好
它仍然允许特殊字符等


仅供参考:regex用于过滤英国号码牌。

您是否尝试过在
新regexp()中包装您的regexp

例如:

const nameRegex = new RegExp(/^[a-z ,.'-]+(\s)([a-z ,.'-])+$/i);
if (nameRegex.test(inputValue)) {
    doSomething();
}

您没有返回任何字符串,而是返回验证结果,是真是假