地址输入框验证函数需求:仅允许字母数字且不能全为数字
地址输入框验证函数修正方案
现有代码问题:当前正则仅限定了允许输入的字符类型,但没实现「不能仅输入纯数字」的核心要求,而且错误提示和实际校验逻辑不匹配。
修正后的代码:
export const getRuleOnlyAlphanumeric = () => { return { pattern: { value: /^(?=.*[a-zA-Z])[a-zA-Z0-9_.-]+$/, message: "地址不能仅含数字,且只能输入字母、数字、下划线、点和短横线" } } }
- 正则逻辑拆解:
(?=.*[a-zA-Z]):正向预检查,强制字符串里至少包含一个字母,直接排除纯数字的输入场景[a-zA-Z0-9_.-]+:限定输入只能是允许的字符,+确保输入不为空(如果业务允许空输入,把+改成*即可)^和$:锁定字符串首尾,保证整个输入内容都符合规则
内容的提问来源于stack exchange,提问作者danipereiracodes
相关产品推荐
相关产品推荐

