React Yup邮箱验证:禁止输入感叹号及非法符号问题咨询
邮箱验证问题:禁止输入感叹号及相关疑问
需求说明
我需要给邮箱字段添加验证规则,阻止用户输入包含感叹号的内容。当用户输入带感叹号的邮箱时,字段要显示提示:Email address cannot use exclamation mark。
目前我的Yup验证代码只能完成邮箱格式、长度范围和必填项的验证,不清楚怎么添加禁止感叹号的规则:
const validationSchema = Yup.object().shape({ email: Yup.string() .email( intl.formatMessage({ id: "10003", }) ) .min( 3, intl.formatMessage({ id: "AUTH.VALIDATION.MIN_LENGTH_FIELD", }) + " 3" ) .max( 50, intl.formatMessage({ id: "AUTH.VALIDATION.MAX_LENGTH_FIELD", }) + " 50" ) .required( intl.formatMessage({ id: "AUTH.VALIDATION.REQUIRED_FIELD", }) ), });
无效尝试
我试过添加matches规则,但没有生效,代码如下:
.matches( /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})|([0-9]{10})+$/, intl.formatMessage({ id: "AUTH.NOT_ALLOW_EXCLAMATION_MARK", }) )
示例效果

附加问题
除了感叹号,邮箱字段还有哪些符号是不允许用户输入的?
希望有人能指导我解决这个问题,感谢!
内容的提问来源于stack exchange,提问作者Fatt Sky
相关产品推荐
相关产品推荐

