Javascript RegExp-需要检查是否存在字母和数字以及可选的特殊字符?
使用JavaScript,我必须测试一个值,以确保它是字母数字,但它也可以有一个可选的特殊字符选择-我目前有:Javascript RegExp-需要检查是否存在字母和数字以及可选的特殊字符?,javascript,regex,Javascript,Regex,使用JavaScript,我必须测试一个值,以确保它是字母数字,但它也可以有一个可选的特殊字符选择-我目前有: [A-Za-z0-9\/_\+£&@"\?!'\.,\(\)] 但这并没有通过测试的可选方面 例如,这些应是有效的: alpha1234 alpha1234! 1234alpha !1234alpha 1234!qwer 但这些都应该失败: alpha 1234 希望有人能给我指出正确的方向,或者有现成的答案:)或者如果你需要知道更多,就告诉我 提前感谢。 首先,确保输入
[A-Za-z0-9\/_\+£&@"\?!'\.,\(\)]
但这并没有通过测试的可选方面
例如,这些应是有效的:
alpha1234
alpha1234!
1234alpha
!1234alpha
1234!qwer
但这些都应该失败:
alpha
1234
希望有人能给我指出正确的方向,或者有现成的答案:)或者如果你需要知道更多,就告诉我
提前感谢。- 首先,确保输入至少包含一个数字:
(?=.[0-9])
- 然后,确保输入至少包含一个alpha:
(?=.*[a-z])
- 最后,确保输入仅包含允许的字符:
[a-z0-9\/+&@“!”,()]*
^(?=.[0-9])(?=.[a-z])[a-z0-9\/+&@“!”,()]*$
可视化
Demo by特殊字符必须仅在末尾,或者可以在字符串中的任何位置?请尝试搜索“密码验证正则表达式”。这是一个非常常见的问题,有很多答案(虽然可能无法处理您的确切用例)可以很容易地进行调整。例如,@valepu-感谢您的回复。特殊字符可以在值中的任何位置,也可以根本没有。@TimPietzcker-谢谢,但我一直在用可选的特殊字符遇到同样的问题。我的正则表达式技能不是很好,所以我宁愿听从别人更好的知识,也不愿尝试修改一些接近的东西,只会把事情搞砸。我宁愿推迟,也就是说,宁愿有人为我写,也不愿学习基本原理,这样我就可以自己做了。看起来不错-谢谢!我需要更改此设置,以阻止连续特殊字符的使用。我得到了:^([[u].-]){2}$但这只是匹配两个连续的字符,而不是字符串中的连续字符,例如,它捕捉到的是%,但不是qwerty--如果可能的话,我该如何将其添加到正则表达式中?@tonymeryField您可以添加到正则表达式中:输入不应该包含一个后跟其自身的特殊字符。