React JS手机号验证如何添加对+、-、(、)特殊符号的支持
React 手机号验证规则修改方案
你的现有校验正则仅支持数字和退格符,要新增对+、-、(、)四个符号的支持,仅需要修改正则的字符匹配规则即可:
- 正则字符集
[]中直接添加需要支持的特殊字符即可,注意-需要放在字符集的首尾位置,避免被识别为区间连接符,无需额外转义 - 原有代码的条件判断存在逻辑错误:
if (typeof !fields["enterprisemobile"])中!fields["enterprisemobile"]本身是布尔值,typeof运算后永远返回字符串"boolean",因此该判断条件会永远成立,可根据实际业务需求调整为非空判断逻辑
修改后的完整代码如下:
// 示例条件为判断手机号字段非空时执行校验,可根据业务调整 if (fields["enterprisemobile"]) { isValid = false; // 正则新增+、(、)、-四个允许输入的特殊字符 const pattern = /^[0-9\b+()-]+$/; if (!pattern.test(fields["enterprisemobile"])) { isValid = false; errors["enterprisemobile"] = "手机号码格式不正确"; // 如需保留英文提示可替换为原内容:"Mobile Number is invalid" } }
内容的提问来源于stack exchange,提问作者D-Nis
相关产品推荐
相关产品推荐

