RegExp - 需要检查是否存在字母和数字以及可选的特殊字符?

时间:2016-01-28 10:23:17

标签: javascript regex

使用JavaScript我必须测试一个值以确保它是字母数字,但它也可以选择可选的特殊字符 - 我目前有:

[A-Za-z0-9\/_\+£&@"\?!'\.,\(\)]

但这不符合测试的可选方面。

E.g。这些应该是有效的:

alpha1234
alpha1234!
1234alpha
!1234alpha
1234!qwer

但这些应该失败:

alpha
1234

希望有人可以指出我正确的方向或有方便的答案:)或者如果你需要了解更多,请告诉我。

提前致谢。

1 个答案:

答案 0 :(得分:0)

  • 首先,确保输入包含至少一个数字:(?=.*[0-9])
  • 然后,确保输入包含至少一个alpha:(?=.*[a-z])
  • 最后,确保输入仅包含允许的字符:[a-z0-9\/_+£&@"?!'.,()]*

所有在一起:

^(?=.*[0-9])(?=.*[a-z])[a-z0-9\/_+£&@"?!'.,()]*$

Regular expression visualization

Debuggex

的可视化

Regex101

演示