Regex - Check a text without special characters but German, French - The Koch Family
The Koch Family The Koch Family

Latest news

جاري التحميل ...

Regex - Check a text without special characters but German, French

Special characters such as square brackets ([ ]) can cause an exception "java.util.regex.PatternSyntaxException" or something like this if we don't handle them correctly.

I had met this issue. In my case, my customers want our application should allow some characters in German and French even not allow some special characters.

The solution is that we limit the allowed characters by showing the validation message on GUI. For an instance, the message looks like the following:

"This field can't contain any special characters; only letters, numbers, underscores (_), spaces and single quotes (') are allowed."

I used Regular Expression to check it. For entering Germany and French, I actually don't have this type of keyboard, so I referred these sites:

* German characters: http://german.typeit.org/
* French characters: http://french.typeit.org/

Here is my code:
package vn.nvanhuong.practice;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class SpecialCharactersUtil {
private SpecialCharactersUtil(){}

public static boolean isExistNotAllowedCharacters(String source){
Pattern regex = Pattern.compile("^[a-zA-Z_0-9_äöüÄÖÜùûüÿàâæéèêëïîôœÙÛÜŸÀÂÆÉÈÊËÏÎÔŒ' ]*$");
Matcher matcher = regex.matcher(source);
return !matcher.matches();
}
}

And, some tests:
package vn.nvanhuong.practice.test;

import static org.junit.Assert.*;

import org.junit.Test;

import vn.nvanhuong.practice.SpecialCharactersUtil;

public class SpecialCharactersUtilTest {

@Test
public void shoulDetectSpecialCharacters() {
String source = "~`!@#$%^&*()-+={}\\[\\]\\|:;\"<>,./?";
assertTrue(SpecialCharactersUtil.isExistNotAllowedCharacters(source));
}

@Test
public void shoulAllowGermanCharacters() {
String source = "äöüÄÖÜ";
assertFalse(SpecialCharactersUtil.isExistNotAllowedCharacters(source));
}

@Test
public void shoulAllowFrenchCharacters() {
String source = "ùûüÿàâæéèêëïîôœÙÛÜŸÀÂÆÉÈÊËÏÎÔŒ";
assertFalse(SpecialCharactersUtil.isExistNotAllowedCharacters(source));
}

@Test
public void shoulAllowAlphanumericAndSpacesAndUnderscoreAndSingleQuote() {
String source = "character' special_1";
assertFalse(SpecialCharactersUtil.isExistNotAllowedCharacters(source));
}
}
Now, we can use the method for our validation on GUI.

Comments



If you like the content of our blog, we hope to stay in constant communication, just enter your email to subscribe to the blog's express mail to receive new blog updates, and you can send a message by clicking on the button next ...

إتصل بنا

About the site

author The Koch Family <<  Welcome! I'm so glad that you stopped by Your Modern Family blog. Together, we will talk about raising kids, organizing the home and saving money! and Tips & tricks and more…

< Learn more ←

Blog stats

Sparkline 2513183

All Copyrights Reserved

The Koch Family

2020