android 메 일 입력 이 합 법 적 인지 검증
다음은 핸드폰 번호 와 메 일이 합 법 적 인지 검증 하 는 방법 입 니 다.이 두 가지 정적 방법 을 자신의 프로젝트 에 직접 입력 하면 사용 할 수 있 습 니 다.
public class MainActivity extends Activity implements View.OnClickListener {
private Button btn;
private EditText et;
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.btn);
et = (EditText) findViewById(R.id.et);
tv = (TextView) findViewById(R.id.tv);
btn.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.btn:
String number = et.getText().toString();
boolean judge = isMobile(number);
if (judge == true) {
tv.setText(" ");
} else {
tv.setText(" ");
}
break;
}
}
// /**
// *
// */
public static boolean isMobile(String number) {
/*
:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
:130、131、132、152、155、156、185、186
:133、153、180、189、(1349 )
1, 3 5 8, 0-9
*/
//"[1]" 1 1,"[358]" 3、5、8 ,"\\d{9}" 0~9 , 9 。
String num = "[1][358]\\d{9}";
if (TextUtils.isEmpty(number)) {
return false;
} else {
//matches():
return number.matches(num);
}
}
//
public static boolean isEmail(String strEmail) {
String strPattern = "^[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$";
if (TextUtils.isEmpty(strPattern)) {
return false;
} else {
return strEmail.matches(strPattern);
}
}
}
정규 표현 식 이해 하기학습 과정
1.개념:"정규 표현 식"(Regular Expression)은 문자열 과 검색 문자열 을 일치 시 키 는 특수 한 문자열 입 니 다.
2.자바 기본 패키지 중:
java.util.regex 패 키 지 는 주로 세 가지 종류 로 구성 되 어 있 습 니 다.Pattern,Matcher,PatternSyntax Exception.
3.정규 표현 식 의 역할:
1).문자열 의 정확성 판단
2).문자열 찾기
3).다른 종류,특히 String 에서 의 사용
// 1.
// 136 11
private void m1(String s) {
// :
// boolean b = Pattern.matches("136\\d{8}", "13698987654");
// :
Pattern p = Pattern.compile("136\\d{8}");
Matcher m = p.matcher(s);//
boolean b = m.matches();//
System.out.println(b);// true
}
// 2.
private void m3() {
Pattern p = Pattern.compile("\\d{2}");
Matcher m = p.matcher("a29abbccsdf");
boolean b = m.find();
System.out.println(b);// true
}
// 3. String
//
public void m4() {
// String s = "23+234-123*234/1000";
// String[] a = s.split("\\+|\\-|\\*|/");
String s = "11+22+33*66";
String[] a = s.split("\\*");
for (String string : a) {
System.out.println(string);
}
}
//4. : ax by ,
public class Test {
public boolean m1(String str) {
// :
// Pattern p = Pattern.compile("ax.by");
// Matcher m = p.matcher(str);
// boolean b = m.matches();
//
boolean b = Pattern.matches("ax.by", str);
return b;
}
public static void main(String[] args) {
Test t = new Test();
System.out.println(t.m1("axmby"));
}
}
4.힌트 1:정규 표현 식 은 문자열 에서 일치 하 는 하위 문자열 을 찾 을 수 있 습 니 다.다른 클래스 에서 의 사용...(뒷부분5.힌트 2:
●Pattern 대상 은 컴 파일 된 정규 표현 식 을 표시 합 니 다.Pattern 류 는 공공 구조 방법 을 제공 하지 않 았 다.공공 정적 copile 방법 을 호출 해 야 합 니 다.Pattern 대상 을 되 돌려 줍 니 다.
●Matcher 는 입력 한 문자열 로 이 모드 를 분석 하고 일치 하 는 작업 을 수행 하 는 대상 입 니 다.Matcher 도 공공 구조 방법 을 정의 하지 않 았 습 니 다.Pattern 대상 을 호출 하 는 matcher 방법 으로 Matcher 대상 을 얻어 야 합 니 다.
●PatternSyntax Exception 대상 은 이상 을 검사 하지 않 고 정규 표현 식 의 문법 오 류 를 표시 합 니 다.
정규 표현 식 어댑터
학습 과정
일치 하 는 문자 의 일치 문자
1."."->임의의 문자 와 일치 하 는 데 사용 합 니 다.
예 를 들 어't.n'은'tan','ten','tin'과'ton'과 일치 하고't\#n','tpn',심지어't n'도 일치 합 니 다.
Pattern p = Pattern.compile(“a.b.c.d”);
Matcher m = p.matcher(“axbac2d”);// 정규 표현 식 전화번호
boolean b = m.matches();// 일치 여부 판단 true
2."[]"-"해결 하기 위해"."일치 범위 가 너무 넓 습 니 다.이 문 제 는 괄호("[]")에서 의미 있 는 문 자 를 지정 할 수 있 습 니 다.이 때 는 괄호 안에 지정 한 문자 만 일치 합 니 다.즉,정규 표현 식't[aeio]n'은'tan','Ten','tin','ton'만 일치 하 는 것 이다.그러나"Toon"은 일치 하지 않 습 니 다.괄호 안에 한 글자 만 일치 할 수 있 기 때 문 입 니 다.
3."|"-"위 에 일치 하 는 모든 단어(tan","Ten","tin","ton")를 제외 하고"toon"과 일치 하려 면"|"연산 자 를 사용 할 수 있 습 니 다."|"조작 부호 의 기본 적 인 의 미 는 바로'또는'연산 이다."toon"과 일치 하려 면"t(a|e|i|o|oo)n"정규 표현 식 을 사용 하 십시오.여 기 는 사각형 확장 번 호 를 사용 할 수 없습니다.왜냐하면 사각형 괄호 는 하나의 문자 만 일치 할 수 있 기 때 문 입 니 다.여기에 괄호'()'를 사용 해 야 합 니 다.그 역할 은 산술 표현 식 의 역할 과 같 고 전 체 를 표시 합 니 다.
4."-"숫자 나 자모의 범 위 를 나타 낸다.
[0-9]는 0 에서 9 의 한 문 자 를 나타 내 고[3-8]은 3 에서 8 의 한 문 자 를 나타 낸다.
[a-z]는 a 에서 z 까지 의 문 자 를 나타 내 고[b-m]는 b 에서 m 까지 의 문 자 를 나타 낸다.
[A-Z]는 A 에서 Z 까지 의 문자 중 하 나 를 나타 낸다.
[b-d3-8]은 b 에서 z 또는 3 에서 8 의 한 문 자 를 나타 낸다.
[a-dx-z]는 a 에서 d 또는 x 에서 z 까지 의 문 자 를 나타 낸다.
예시:
[a-c][0-9]{3}a234,b112,c223 등 과 일치 합 니 다.
5."^"->즉 비,이 기호 오른쪽 에 바짝 붙 어 있 는 기호 가 나타 나 지 않 는 지 확인 하 는 데 사용 된다.
5.1[^0-9]는 0 에서 9 의 한 글자 로 할 수 없다 는 뜻 이다.
5.2[^A]는 A 가 될 수 없 음 을 나타 내 는 문자
5.3[^a-c]는 a 에서 c 까지 의 문 자 를 표시 하지 않 습 니 다.
6.단축 키
7."\"는 전의 를 나타 낸다
정규 표현 식 에서 사용 할 문자 가 마스크 와 충돌 하면 앞 에'\'를 붙 여 마스크 가 아 님 을 표시 합 니 다.
예 를 들 어'[0-9]{3}\*{2}[0-9]{2}a*'는 횟수 가 아니 라 문자 입 니 다.그것 은 0 에서 9 까지 의 세 개의 숫자 로 시작 할 수 있 습 니 다.그 다음은 두 개의*이 고 그 다음 에는 0 에서 9 까지 의 두 개의 숫자 는 마지막 에 0 에서 여러 개의 a 문자 입 니 다.
이"234**23a"는 위의 정규 표현 식 과 일치 할 수 있 습 니 다.
8."끝 을 표시 합 니 다.모든 정규 표현 식 뒤에 추가 할 수 있 습 니 다."끝 을 표시 합 니 다.모든 정규 표현 식 뒤에 추가 할 수 있 습 니 다.실질 적 으로 추가 하지 않 는 것 과 같 습 니 다.
9.특별한 일치
[\u4e 00-\u9fa 5]한자 일치
예제"[\u4e 00-\u9fa 5]{3}"세 한자 로 구 성 된 문자열 과 일치 할 수 있 습 니 다.
2.일치 횟수 의 통 일치
이 기호 들 은 이 기호 왼쪽 에 있 는 기호 가 나타 나 는 횟수 를 확인 하 는 데 사용 된다.
예제 1:a*Hello 는 Hello 로 끝 나 는 0~여러 a 로 시작 하 는 문자열 과 일치 할 수 있 습 니 다.예 를 들 어 Hello,aHello,aaHello,aaaHello 등 입 니 다.
예시 2:MyA*Hello 는 My 로 시작 하고 Hello 로 끝 날 수 있 으 며 중간 에 0 에서 여러 개의 A 가 있 을 수 있 습 니 다.예 를 들 어 MyAAA Hello 와 같 습 니 다.
예제 3:HelloE+World 는 Hello 로 시작 하여 World 로 끝 날 수 있 습 니 다.중간 에 1~여러 개의 E 가 있 을 수 있 습 니 다.예 를 들 어 HelloEE World 와 같 습 니 다.
예 4:HelloE?World 는 Hello 로 시작 할 수 있 습 니 다.World 로 끝 날 수 있 습 니 다.중간 에 0 에서 1 개의 E 가 있어 야 합 니 다.
예제 5:HelloE{3}World 는 Hello 로 시작 하여 World 로 끝 날 수 있 습 니 다.중간 에 E 가 3 개 있어 야 합 니 다.
예 6:HelloE{2,4}World 는 Hello 로 시작 하여 World 로 끝 날 수 있 습 니 다.중간 에 2~4 개의 E 가 있어 야 합 니 다.
예제 7:Hello[^abc]는 Hello 로 시작 할 수 있 으 며 a 또는 b 또는 c 로 끝 낼 수 없습니다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.