我在验证一个电话号码
phone: Yup.number()
.typeError("That doesn't look like a phone number")
.positive("A phone number can't start with a minus")
.integer("A phone number can't include a decimal point")
.min(8)
.required('A phone number is required'),
.min(8)
会验证数字是否大于等于8。因此,只需输入8
即可通过。如何使1000 0000
通过所需的8个字符?
8条答案
按热度按时间uhry853o1#
嗨,现在我正在解决和你一样的问题,我找到了可能的解决方案。
使用与Regex匹配的字符串验证电话号码
您可以搜索不同的Regex表达式并对其进行验证。
vjhs03f72#
更新。〈**
http://yup-phone.js.org/
我已经创建了一个
yup-phone
模块,它使用google-libphonenumber
提供精确的验证检查,并且可以直接从github安装npm install --save yup yup-phone
*.检查Usage
从简单React验证器,
用于电话号码验证的正则表达式为
示例
第一个
vzgqcmou3#
试试这个,它可能对你有帮助。
移动的:是的.string().matches(/^[6-9]\d{9}$/,{消息:“请输入有效数字。",excludeEmptyString:错误})
9rbhqvlz4#
这对我来说最好...你可以设置你自己的长度...我只是想要10位数,不是更少或更多
rta7y2nd5#
只是一个小小的合作。在我的情况下,我不想验证输入是否为空(当不是必需的)。谢谢大家的例子!
aydmsdu96#
我有一个类似的使用案例,下面是我的解决方案:
8xiog9wr7#
我为这个做了一个新的包,叫做yup-phone-lite。我用的是原来的yup电话包,但是它使用了大量的google-libphonenumber,所以我用一个更小的叉子代替了它。
ee7vknir8#
下面是我的代码片段。
My regex检查印度电话号码是否符合
+91 axxx xxx xxx
(其中a
可以是6到9之间的数字,x
可以是0 - 9)。我尝试了X1 E1 F1 X,但它无法实际验证我想要的印度号码的范围,另外,包导入大小是昂贵的。
此外,我还在前端使用ReactwithFormik,通过react-phone-input-2进行表单验证