我正在使用一个应该验证用户名的正则表达式。用户名只能包含英文字母、数字或下划线。客户端代码输入按预期工作,不允许除字母、数字和取消划线之外的任何内容:
<input
type="text"
name="username"
id="username"
required
minlength="2"
maxlength="14"
pattern="[A-Za-z0-9_]+"
class="form__input"
/>
当我尝试提交包含 的用户名时!,浏览器验证不允许这种情况发生。
现在,在我的服务器端(Express 应用程序 + 是的)我使用相同的正则表达式,但是,它没有按预期工作:
const shema = yup.object().shape({
username: yup
.string()
.required()
.trim()
.min(2)
.max(14)
.matches(/[A-Za-z0-9_]+/, 'Only English letters, numbers, and underscore allowed (2-14 characters)')})
当我使用 Postman 并使用包含的用户名发送发布请求时!,验证不起作用。所有其他字段均按预期验证,因此,我的正则表达式可能存在问题?谢谢。
侃侃尔雅
相关分类