我有一个密码字段,我需要使用javascript检查它是否有以下字符:
! @ # $ % ^
我试着这样做,结果正如预期的那样:
function ValidarPass()
{
var Contrasena = document.getElementById('Clave').value;
if(Contrasena!='' &&
(Contrasena.indexOf('!')>-1||
Contrasena.indexOf('@')>-1||
Contrasena.indexOf('#')>-1||
Contrasena.indexOf('$')>-1||
Contrasena.indexOf('%')>-1||
Contrasena.indexOf('^')>-1||
Contrasena.indexOf('&')>-1||
Contrasena.indexOf('*')>-1))
{
alert("Exito!");
}
else
{
alert("Error!");
}
}
有没有更简单/有效的方法来做到这一点?
正则表达式将是一个很好的单行解决方案。但它实际上比indexOf慢(就像您发布的代码一样)。在这里查看一些信息:https://jsperf.com/regexp-vs-indexof
正则表达式文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
function isValid(str){
return /[!@#$%^&*(),.?":{}|<>]/g.test(str);
}
此外,该网站非常适合测试正则表达式https://www.regextester.com/
您将使用的正则表达式是[!@#$%^
这将检查您列出的所有特殊字符。在函数中使用时,可以使用matches函数,如下所示:
public boolean isSpecialCharacter(String string) {
String pattern = "[!@#$%^&*]";
return string.matches(pattern);
}
您可以使用正则表达式测试字符串:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
function isValid(str){
return !/[!@#$%^&*+=\-\[\]\\';,/{}|\\":<>\?]/g.test(str);
}
问题内容: 我必须检测一个字符串是否包含任何特殊字符。我该如何检查?Swift支持正则表达式吗? 我尝试了上面的代码,但是只有当我输入第一个字符作为特殊字符时,它才匹配。 问题答案: 您的代码检查字符串中是否没有字符来自给定的集合。您要检查的是给定集合中是否 没有 任何 字符: __ 您还可以使用正则表达式实现此目的: 该模式匹配的字符 不在 AZ,az或0-9范围内。 Swift 2更新: Sw
问题内容: 我正在尝试使此正则表达式行起作用,但它们似乎不起作用(我无法将其打印出“匹配项”。 我的目标是从Scanner中读取一个字符串,然后运行此功能。如果字符串具有小写值或特殊字符,则我想调用无效函数,然后返回NULL。然后在isValid()方法中,让它返回false并结束。 如果它仅包含NUMBERS和UPPERCASE字符,我想按原样返回该字符串,以便它可以执行其他操作。 我似乎无法将
我正在寻找一个运算符,它允许我检查字段的值是否包含某个字符串。 比如: 可能吗?
所以我一辈子也想不出来。我正在尝试编写一个程序,提示用户输入电话号码。这将作为字符串输入,并在稍后的程序中转换为整数数组。然而,我现在遇到的情况是验证用户输入的字符串是否仅限于!!!包含2-9之间的数字。我已经尝试了。Contains方法和。Match方法,但是使用这些方法总是提供错误的结果。如果有人能提供一些关于如何解决这个问题,我将非常感谢。提前感谢。 以下是我目前掌握的信息:
问题内容: 那么,如何检查字符串中是否包含特定单词? 这是我的代码: 我遇到了错误。 问题答案: 并不像他们所说的那么复杂,选中此选项您不会后悔。 您可以根据需要更改。
问题内容: 我想检查我的字符串是否包含+字符。我尝试了以下代码 但是它没有给出预期的结果。 问题答案: 您需要此: 类的方法不使用正则表达式作为参数,而是使用普通文本。 编辑: 输出: