如何在React Native中验证文本的第一个字符是否为特定数字



我正在尝试创建一个只接受数字字符的textinput,并且React Native中的第一个字符必须是3。

const [inputs, setInputs] = React.useState({
num: '',
});           
let numOnly = /^[0-9b]+$/;
let valid = true;

if (!inputs.num.trim() || inputs.num.length < 10 || !inputs.num.match(numOnly)) {//if number field is not in correct format
handleError('Please input phone number correctly', 'phone');
valid = false;
}

使用此正则表达式:/^3d{9}$/

描述:

  1. ^在行首断言位置
  2. 3的第一个字符必须是3
  3. d{9}第一个字符后的9个字符必须是数字
  4. $断言行末尾的位置

指定第一个字符、接下来的9个字符和行的开始/结束时,总长度必须为10。


您可以将$替换为Z,用于字符串的结尾,而不是行结尾

您可以使用以下Regx验证电话号码:-

const reg = /^[0]?[3]d{9}$/;
if (reg.test(phone) === true) {
if (phone.length > 9) {
console.log("valid phone number");
} else {
console.log("Invalid phone number");
}
}

您可以像[3789]一样将号码放在这个数组[3]中,以便电话号码以其开头。

最新更新