用于字母数字但不是全数字的JavaScript正则表达式

时间:2015-11-12 07:13:55

标签: javascript regex

我需要一个正则表达式:

  • 必须接受字母数字
  • 没有特殊字符
  • 但如果它只包含数值,则不应该允许。

E.g。

456 - not accepted
newName - accepted
new432 - accepted
new@ - not accepted

我试过了:

/[A-Za-z]+[a-zA-z\d]*/

这不起作用,逻辑也不同。这里第一个字符应该始终是字母表,然后它接受字母数字。但是当我在AngularJS中运行这个表达式时,它也接受特殊字符。

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

arm64-v8a

<强> REGEX DEMO

<强>解释

^\d*[a-zA-Z][a-zA-Z\d\s]*$

答案 1 :(得分:0)

您可以使用negative lookahead assertion

/^(?!\d*$)[a-z\d]*$/i

<强>解释

^         # Start of string
(?!\d*$)  # Assert that it's not possible to match only digits until end-of-string
[a-z\d]*  # Match any number of ASCII digits/letters
$         # End of string