javascript 正则表达式,允许字母数字字符和仅单个“-”

0wi1tuuw  于 2023-01-19  发布在  Java
关注(0)|答案(1)|浏览(115)

我需要阻止用户在输入字段中输入以下字符

~!#$%^&*()+/\"'`:;{}[]|<>=–

请注意,是2个连续的-
我试过^[a-z ]+([-])[a-z ]

htrmnn0y

htrmnn0y1#

以下是@罗汉's/@mplungjan的答案的变体。由于验证将在提交时完成,因此在您键入时不会阻止键入多个“-”。

<form onsubmit="return false">
  <input type="text" pattern="^[\w\s]*-?[\w\s]*$" title="Only letters, numbers, whitespaces and one '-' are allowed">
  <input type="submit" />
</form>

下面是另一个基于JavaScript的版本,它会悄悄地删除任何不需要的字符:
x一个一个一个一个x一个一个二个x

相关问题