【发布时间】:2026-01-06 23:00:01
【问题描述】:
我在输入标签中写了一个带有 pattern 的 javascript 表单验证。
我想在任何地方都排除这些符号 ['{}$?!"] 并希望至少包含 3 个字母 [a-z]{3,}。应该允许其他所有字符。(可能像 .*)
我的问题是它只排除了字母前的符号,而忽略了字符串中间或末尾的符号。
<input type="text"
name="name"
maxlength=50
pattern="^[^'<>{}$?!\x22]+[a-z]{3,}.*$"
onChange="changi(this.parentNode.parentNode.id)"
required />
例如应该是:
正确:
- John Doe the 3.
- 约翰·多伊
错误:
- !!约翰·多伊三世。
- 约翰·多伊!! (允许自动取款机)
- 乔! Do!e(允许自动取款机)
【问题讨论】:
标签: html regex regex-negation