Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript RegExp-需要检查是否存在字母和数字以及可选的特殊字符?_Javascript_Regex - Fatal编程技术网

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

Javascript RegExp-需要检查是否存在字母和数字以及可选的特殊字符?,javascript,regex,Javascript,Regex,使用JavaScript,我必须测试一个值,以确保它是字母数字,但它也可以有一个可选的特殊字符选择-我目前有: [A-Za-z0-9\/_\+£&@"\?!'\.,\(\)] 但这并没有通过测试的可选方面 例如,这些应是有效的: alpha1234 alpha1234! 1234alpha !1234alpha 1234!qwer 但这些都应该失败: alpha 1234 希望有人能给我指出正确的方向,或者有现成的答案:)或者如果你需要知道更多,就告诉我 提前感谢。 首先,确保输入

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

[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您可以添加到正则表达式中:输入不应该包含一个后跟其自身的特殊字符。