Check is string contains special characters and at least 2 characters amongs digit and letter
You can assert the 2 occurrences of a character or digit in the same lookahead, and then match at least a single "special" character.
Using a case insensitive pattern:
^(?=(?:[^a-z\d\n]*[a-z\d]){2})[a-z\d]*[~!@#$%^&*()_+<>•`{}\\][~!@#$%^&*()_+<>•`{}\\a-z\d]*$
The pattern matches:
^
Start of string(?:[^a-z\d\n]*[a-z\d]){2}
Assert 2 occurrences of either a char a-z or a digit. The[^a-z\d\n]*
part negates the character class using[^
to prevent unnecessary backtracking[a-z\d]*
Match optional chars a-z or a digit[~!@#$%^&*()_+<>•`{}\]
Match a special character[~!@#$%^&()_+<>•`{}\a-z\d]
Match optional allowed chars$
End of string
Regex demo
Check for special characters in string
I suggest using RegExp .test()
function to check for a pattern match, and the only thing you need to change is remove the start/end of line anchors (and the *
quantifier is also redundant) in the regex:
var format = /[ `!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~]/;// ^ ^ document.write(format.test("My@string-with(some%text)") + "<br/>");document.write(format.test("My string with spaces") + "<br/>");document.write(format.test("MyStringContainingNoSpecialChars"));
Regex pattern to check if string has no special characters - Java
You missed a \
before the -
. You should use
^[a-zA-Z0-9_\-.]*$
See the demo
Check if string contains two word or special character with underscore between in PHP
You need to add special characters in your regular expression, for example:
$value = 'mytext_%';
preg_match('/^[a-z$&+,:;=?@#|\'<>.^*()%!-]+_[a-z$&+,:;=?@#|\'<>.^*()%!-]+$/i', $value);
How to check if a string contains a special character (!@#$%^&*()_+)
Match it against a glob. You just have to escape the characters that the shell otherwise considers special:
#!/bin/bash
str='some text with @ in it'
if [[ $str == *['!'@#\$%^\&*()_+]* ]]
then
echo "It contains one of those"
fi
Check for special characters (/*-+_@&$#%) in a string?
The easiest way it to use a regular expression:
Regular Expression for alphanumeric and underscores
Using regular expressions in .net:
http://www.regular-expressions.info/dotnet.html
MSDN Regular Expression
Regex.IsMatch
var regexItem = new Regex("^[a-zA-Z0-9 ]*$");
if(regexItem.IsMatch(YOUR_STRING)){..}
Related Topics
Immutable VS Unmodifiable Collection
Is There an Equivalent of Java.Util.Regex for "Glob" Type Patterns
How to Add a New Line of Text to an Existing File in Java
Static Versus Non-Static Lock Object in Synchronized Block
Format File Size as Mb, Gb, etc
Optional Orelse Optional in Java
How to Build Sources Jar with Gradle
What Does the "Assert" Keyword Do
How to Create a Sub Array from Another Array in Java
Spring Cache @Cacheable - Not Working While Calling from Another Method of the Same Bean
Why Does Eclipse Complain About @Override on Interface Methods
Spring Boot How to Hide Passwords in Properties File
Replace All Occurrences of a String Using Stringbuilder