使用至少一个alpahbet(Az)进行名称验证的正则表达式

Luc*_*cky 2 javascript regex

我需要一个应该验证它应该包含至少一个字母表(AZ,az)和可选的数字(0-9)的正则表达式.

有效名称:

  • AAAA
  • aaaa1
  • 所以
  • 约翰P.例子

名称无效,

  • 1111
  • @@@@

到目前为止我试过的正则表达式

[a-zA-Z0-9\.\'\-_\s]{1,20}  
Run Code Online (Sandbox Code Playgroud)

function validateFirstName(a) {
  if (/[0-9]/.test(a) && /[a-zA-Z]/.test(a)) {
      return false;
  } else {
      return true;
  }
}
Run Code Online (Sandbox Code Playgroud)

但两者都不起作用.

任何人都可以帮助这方面吗?

Ste*_*ers 5

尝试:

^[a-zA-Z0-9]*[a-zA-Z]+[a-zA-Z0-9]*$
Run Code Online (Sandbox Code Playgroud)

解释:

  • 中间方括号中的位("三明治中的肉")与字母字符匹配.+之后确保至少有其中一个.
  • 另外两个方括号表达式("三明治中的面包")与字母数字字符匹配.每个之后的*允许任何数量的这些.
  • 围绕整个事物的^和$确保它是整个文本被查看而不仅仅是它的一部分.