사용자가 입력 한 이메일의 유효성을 검사하는 동안 특수 문자를 허용하려고하지만이 경우 Android 표준 utils.pattern 유효성 검사가 작동하지 않습니다. 다음과 같이 구현했습니다.
if(!AppUtils.isValidEmail(edtEmail.getText().toString())){
Toast.makeText(context, "Please enter valid email", Toast.LENGTH_SHORT).show();
return false;
}
내 기능을 확인합니다.
public final static boolean isValidEmail(CharSequence target) {
return !TextUtils.isEmpty(target) && android.util.Patterns.EMAIL_ADDRESS.matcher(target).matches();
}
정규식 또는 특수 문자를 허용하는 다른 방법이 있습니까?
기본 정규식 패턴을 사용하고 필요에 따라 조정하십시오. 특정 문제에 대해 이메일에서 특수 문자를 허용합니다.
Pattern pattern = Pattern.compile("^[^@]+@[a-zA-Z0-9._-]+\\.+[a-z._-]+$");
Matcher matcher = pattern.matcher(inputString);
return matcher.matches();
또는 패턴의 EMAIL_ADDRESS 에서 사용중인 정규식을 조정할 수도 있습니다.
필요한 특수 문자를 추가하십시오. \\\&
public static final Pattern EMAIL_ADDRESS
= Pattern.compile(
"[a-zA-Z0-9\\+\\.\\_\\%\\-\\+]{1,256}" +
"\\@" +
"[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}" +
"(" +
"\\." +
"[a-zA-Z0-9][a-zA-Z0-9\\-]{0,25}" +
")+"
);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다