正则表达式,仅用于避免输入数字(不带任何其他字符的输入)

时间:2011-10-10 06:09:08

标签: javascript regex

我使用的是正则表达式:

/^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$/

这是一个包含至少1个数字和1个字符的字母数字的正则表达式。

但是我想要一个避免输入数字的正则表达式。即如果只有数字是该字段的唯一输入,那么它应该被拒绝......

那么我应该使用什么样的正则表达式?

修改 我需要的输入可能是'abc111','abc 111','abc @ 111','abc @ 111'

我不需要的输入是'111','sdf'(左右两侧不允许有空格)

由于

2 个答案:

答案 0 :(得分:1)

/[^0-9]/

至少有一个非数字。

编辑:评论中提出的额外问题

如果您还想删除空格,请使用Javascript trim() method(最简单!),或使用RegExp捕获除空白之外的所有内容:

/^\s(.*[^0-9].*)\s$)` 

说明:

/^         // Start of the line (no characters before)
 \s        // Any whitespace (thus right after the start of the line)
 (         // Start capturing group
   .*      // Any character (zero or more)
   [^0-9]  // A non-numeric character so at least one is present, as required
   .*      // Any character (zero or more)
  )        // End capturing group
  \s       // Any whitespace (thus right before the end of the line)
$/         // End of the line (no characters after this)

答案 1 :(得分:1)

最简单的一个 - ([^0-9]+)