我正在尝试创建一个只接受数字字符的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}$/
描述:
^
在行首断言位置3
的第一个字符必须是3d{9}
第一个字符后的9个字符必须是数字$
断言行末尾的位置
指定第一个字符、接下来的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]中,以便电话号码以其开头。