웹 프론트엔드 JS 튜토리얼 정규식을 이용하여 사용자의 계정 비밀번호, 휴대폰번호, 신분증을 확인하는 방법

정규식을 이용하여 사용자의 계정 비밀번호, 휴대폰번호, 신분증을 확인하는 방법

Mar 29, 2018 pm 03:00 PM
비밀번호 사용자

这次给大家带来用正则验证用户的帐号密码以及手机号码与身份证的方法,用正则验证用户的帐号密码以及手机号码与身份证的注意事项有哪些,下面就是实战案例,一起来看一下。

废话不多说了,下面给大家介绍使用正则表达式验证用户名、密码、手机号码、身份证的写法,需要的的朋友参考下吧

//用户名
+ (BOOL) validateUserName:(NSString *)name
{
 NSString *userNameRegex = @"^[A-Za-z0-9]{3,20}+$";
 NSPredicate *userNamePredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",userNameRegex];
 BOOL B = [userNamePredicate evaluateWithObject:name];
 return B;
}
//密码
+ (BOOL) validatePassword:(NSString *)passWord
{
 NSString *passWordRegex = @"^[a-zA-Z0-9]{6,20}+$";
 NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",passWordRegex];
 return [passWordPredicate evaluateWithObject:passWord];
}
//判断手机号码格式是否正确
+ (BOOL)valiMobile:(NSString *)mobile
{
 mobile = [mobile stringByReplacingOccurrencesOfString:@" " withString:@""];
 if (mobile.length != 11)
 {
  return NO;
 }else{
  /**
   * 移动号段正则表达式
   */
  NSString *CM_NUM = @"^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7-8]))\\d{8}|(1705)\\d{7}$";
  /**
   * 联通号段正则表达式
   */
  NSString *CU_NUM = @"^((13[0-2])|(145)|(15[5-6])|(176)|(18[5,6]))\\d{8}|(1709)\\d{7}$";
  /**
   * 电信号段正则表达式
   */
  NSString *CT_NUM = @"^((133)|(153)|(177)|(18[0,1,9]))\\d{8}$";
  NSPredicate *pred1 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM_NUM];
  BOOL isMatch1 = [pred1 evaluateWithObject:mobile];
  NSPredicate *pred2 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU_NUM];
  BOOL isMatch2 = [pred2 evaluateWithObject:mobile];
  NSPredicate *pred3 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT_NUM];
  BOOL isMatch3 = [pred3 evaluateWithObject:mobile];
  if (isMatch1 || isMatch2 || isMatch3) {
   return YES;
  }else{
   return NO;
  }
 }
}
/**
 * 验证身份证号码是否正确的方法
 *
 * @param IDNumber 传进身份证号码字符串
 *
 * @return 返回YES或NO表示该身份证号码是否符合国家标准
 */
+ (BOOL)isCorrect:(NSString *)IDNumber
{
 NSMutableArray *IDArray = [NSMutableArray array];
 // 遍历身份证字符串,存入数组中
 if (IDNumber.length == 18) {
  for (int i = 0; i < 18; i++) {
   NSRange range = NSMakeRange(i, 1);
   NSString *subString = [IDNumber substringWithRange:range];
   [IDArray addObject:subString];
  }
 }else{
  for (int i = 0; i < 15; i++) {
   NSRange range = NSMakeRange(i, 1);
   NSString *subString = [IDNumber substringWithRange:range];
   [IDArray addObject:subString];
  }
 }
 // 系数数组
 NSArray *coefficientArray = [NSArray arrayWithObjects:@"7", @"9", @"10", @"5", @"8", @"4", @"2", @"1", @"6", @"3", @"7", @"9", @"10", @"5", @"8", @"4", @"2", nil];
 // 余数数组
 NSArray *remainderArray = [NSArray arrayWithObjects:@"1", @"0", @"X", @"9", @"8", @"7", @"6", @"5", @"4", @"3", @"2", nil];
 // 每一位身份证号码和对应系数相乘之后相加所得的和
 int sum = 0;
 if (IDNumber.length == 18) {
  for (int i = 0; i < 17; i++) {
   int coefficient = [coefficientArray[i] intValue];
   int ID = [IDArray[i] intValue];
   sum += coefficient * ID;
  }
 }else{
  for (int i = 0; i < 14; i++) {
   int coefficient = [coefficientArray[i] intValue];
   int ID = [IDArray[i] intValue];
   sum += coefficient * ID;
  }
 }
 // 这个和除以11的余数对应的数
 NSString *str = remainderArray[(sum % 11)];
 // 身份证号码最后一位
 NSString *string;
 if (IDNumber.length == 18) {
  string = [IDNumber substringFromIndex:17];
 }else{
  string = [IDNumber substringFromIndex:14];
 }
 // 如果这个数字和身份证最后一位相同,则符合国家标准,返回YES
 if ([str isEqualToString:string]) {
  return YES;
 } else {
  return NO;
 }
}
로그인 후 복사

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

在JS里编写简单的正则方式

经常会用到的15个前端表单验证的正则

위 내용은 정규식을 이용하여 사용자의 계정 비밀번호, 휴대폰번호, 신분증을 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Xiaohongshu 계정을 사용하여 사용자를 찾는 방법은 무엇입니까? 내 휴대폰 번호를 찾을 수 있나요? Xiaohongshu 계정을 사용하여 사용자를 찾는 방법은 무엇입니까? 내 휴대폰 번호를 찾을 수 있나요? Mar 22, 2024 am 08:40 AM

소셜 미디어의 급속한 발전으로 Xiaohongshu는 가장 인기 있는 소셜 플랫폼 중 하나가 되었습니다. 사용자는 Xiaohongshu 계정을 만들어 자신의 개인 신원을 표시하고 다른 사용자와 소통하고 상호 작용할 수 있습니다. 사용자의 Xiaohongshu 번호를 찾으려면 다음의 간단한 단계를 따르세요. 1. Xiaohongshu 계정을 사용하여 사용자를 찾는 방법은 무엇입니까? 1. Xiaohongshu 앱을 열고 오른쪽 하단에 있는 "검색" 버튼을 클릭한 다음 "메모" 옵션을 선택합니다. 2. 노트 목록에서 찾고자 하는 사용자가 게시한 노트를 찾아보세요. 클릭하시면 메모 세부정보 페이지로 이동합니다. 3. 노트 상세페이지에서 해당 사용자의 아바타 아래 '팔로우' 버튼을 클릭하여 해당 사용자의 개인 홈페이지로 진입합니다. 4. 이용자 개인 홈페이지 우측 상단의 점 3개 버튼 클릭 후 '개인정보' 선택

Windows 11에서 계속하려면 관리자 사용자 이름과 비밀번호를 입력하라는 메시지가 표시되는 문제를 해결하는 방법은 무엇입니까? Windows 11에서 계속하려면 관리자 사용자 이름과 비밀번호를 입력하라는 메시지가 표시되는 문제를 해결하는 방법은 무엇입니까? Apr 11, 2024 am 09:10 AM

Win11 시스템을 사용할 때 관리자 사용자 이름과 비밀번호를 입력하라는 메시지가 표시되는 경우가 있습니다. 이 문서에서는 이 상황을 처리하는 방법에 대해 설명합니다. 방법 1: 1. [Windows 로고]를 클릭한 다음 [Shift+다시 시작]을 눌러 안전 모드로 들어가거나 이 방법으로 안전 모드로 들어갑니다. 시작 메뉴를 클릭하고 설정을 선택합니다. "업데이트 및 보안"을 선택하고 "복구"에서 "지금 다시 시작"을 선택한 후 옵션을 입력하고 - 문제 해결 - 고급 옵션 - 시작 설정 -&mdash를 선택하세요.

슈퍼유저로 Ubuntu에 로그인 슈퍼유저로 Ubuntu에 로그인 Mar 20, 2024 am 10:55 AM

Ubuntu 시스템에서는 루트 사용자가 일반적으로 비활성화되어 있습니다. 루트 사용자를 활성화하려면 passwd 명령을 사용하여 비밀번호를 설정한 다음 su- 명령을 사용하여 루트로 로그인할 수 있습니다. 루트 사용자는 무제한 시스템 관리 권한을 가진 사용자입니다. 그는 파일, 사용자 관리, 소프트웨어 설치 및 제거, 시스템 구성 변경에 액세스하고 수정할 수 있는 권한을 가지고 있습니다. 루트 사용자와 일반 사용자 사이에는 분명한 차이가 있습니다. 루트 사용자는 시스템에서 가장 높은 권한과 더 넓은 제어 권한을 갖습니다. 루트 사용자는 일반 사용자가 할 수 없는 중요한 시스템 명령을 실행하고 시스템 파일을 편집할 수 있습니다. 이 가이드에서는 Ubuntu 루트 사용자, 루트로 로그인하는 방법, 일반 사용자와 어떻게 다른지 살펴보겠습니다. 알아채다

휴대폰을 사용하여 라우터 WiFi 비밀번호를 설정하는 방법(휴대폰을 도구로 사용) 휴대폰을 사용하여 라우터 WiFi 비밀번호를 설정하는 방법(휴대폰을 도구로 사용) Apr 24, 2024 pm 06:04 PM

무선 네트워크는 오늘날의 디지털 세계에서 사람들의 삶에 없어서는 안 될 부분이 되었습니다. 그러나 개인 무선 네트워크의 보안을 보호하는 것은 특히 중요합니다. 강력한 비밀번호를 설정하는 것은 다른 사람이 WiFi 네트워크를 해킹할 수 없도록 하는 열쇠입니다. 네트워크 보안을 보장하기 위해 이 기사에서는 휴대폰을 사용하여 라우터 WiFi 비밀번호를 변경하는 방법을 자세히 소개합니다. 1. 공유기 관리 페이지 열기 - 모바일 브라우저에서 공유기 관리 페이지를 열고 공유기의 기본 IP 주소를 입력하세요. 2. 관리자 사용자 이름과 비밀번호를 입력하세요. - 액세스 권한을 얻으려면 로그인 페이지에 올바른 관리자 사용자 이름과 비밀번호를 입력하세요. 3. 무선 설정 페이지로 이동합니다. 라우터 관리 페이지에서 무선 설정 페이지를 찾아 클릭하여 들어갑니다. 4. 현재 Wi-Fi 찾기

휴대폰에서 Wi-Fi 비밀번호 변경 튜토리얼(간단한 조작) 휴대폰에서 Wi-Fi 비밀번호 변경 튜토리얼(간단한 조작) Apr 26, 2024 pm 06:25 PM

인터넷의 급속한 발전과 함께 무선 네트워크는 우리 삶에 없어서는 안 될 필수 요소가 되었습니다. 하지만 개인정보 보호와 네트워크 보안을 위해서는 Wi-Fi 비밀번호를 정기적으로 변경하는 것이 매우 중요합니다. 홈 네트워크 보안을 더욱 잘 보호할 수 있도록 이 문서에서는 휴대폰을 사용하여 WiFi 비밀번호를 변경하는 방법에 대한 자세한 튜토리얼을 소개합니다. 1. Wi-Fi 비밀번호의 중요성을 이해하세요. Wi-Fi 비밀번호는 개인정보와 네트워크 보안을 보호하는 첫 번째 방어선입니다. 인터넷 시대에 그 중요성을 이해하면 비밀번호를 정기적으로 변경해야 하는 이유를 더 잘 이해할 수 있습니다. 2. 휴대폰이 Wi-Fi에 연결되어 있는지 확인하세요. 먼저 Wi-Fi 비밀번호를 변경하기 전에 비밀번호를 변경하려는 Wi-Fi 네트워크에 휴대폰이 연결되어 있는지 확인하세요. 3. 휴대폰의 설정 메뉴를 열고 휴대폰의 설정 메뉴로 들어갑니다.

sudo란 무엇이며 왜 중요한가요? sudo란 무엇이며 왜 중요한가요? Feb 21, 2024 pm 07:01 PM

sudo(수퍼유저 실행)는 일반 사용자가 루트 권한으로 특정 명령을 실행할 수 있도록 하는 Linux 및 Unix 시스템의 핵심 명령입니다. sudo의 기능은 주로 다음 측면에 반영됩니다. 권한 제어 제공: sudo는 사용자에게 일시적으로 수퍼유저 권한을 얻을 수 있는 권한을 부여하여 시스템 리소스와 민감한 작업을 엄격하게 제어합니다. 일반 사용자는 필요할 때만 sudo를 통해 임시 권한을 얻을 수 있으며, 항상 슈퍼유저로 로그인할 필요는 없습니다. 향상된 보안: sudo를 사용하면 일상적인 작업 중에 루트 계정을 사용하지 않아도 됩니다. 모든 작업에 루트 계정을 사용하면 올바르지 않거나 부주의한 작업에는 전체 권한이 부여되므로 예기치 않은 시스템 손상이 발생할 수 있습니다. 그리고

잘못된 비밀번호입니다. BitLocker 경고에 주의하세요. 잘못된 비밀번호입니다. BitLocker 경고에 주의하세요. Mar 26, 2024 am 09:41 AM

이 문서에서는 잘못된 비밀번호 문제를 해결하는 방법, 특히 BitLocker 경고를 처리할 때 주의해야 할 필요성에 대해 설명합니다. 이 경고는 드라이브 잠금을 해제하기 위해 BitLocker에 잘못된 암호를 여러 번 입력한 경우 발생합니다. 일반적으로 이 경고는 시스템에 잘못된 로그인 시도를 제한하는 정책이 있기 때문에 발생합니다(일반적으로 3번의 로그인 시도가 허용됨). 이 경우 사용자는 적절한 경고 메시지를 받게 됩니다. 전체 경고 메시지는 다음과 같습니다. 입력한 비밀번호가 올바르지 않습니다. 계속해서 잘못된 비밀번호를 입력하면 계정이 잠길 수 있습니다. 이는 데이터 보안을 보호하기 위한 것입니다. 계정을 잠금 해제해야 하는 경우 BitLocker 복구 키를 사용해야 합니다. 비밀번호가 올바르지 않습니다. 컴퓨터에 로그인할 때 나타나는 BitLocker 경고에 주의하세요.

Microsoft 계정에 암호 키를 사용하는 방법 Microsoft 계정에 암호 키를 사용하는 방법 Feb 19, 2024 am 11:03 AM

패스키는 보다 발전되고 안전한 로그인 방법이며 Microsoft 계정과 함께 사용할 수 있습니다. 이 문서에서는 Microsoft 계정에서 Passkey를 사용하는 방법을 안내하고 암호의 장점과 차이점을 소개합니다. 자세한 내용을 살펴보기 전에 비밀번호를 자주 잊어버리거나 빠르게 로그인해야 하는 경우에는 일반적으로 Passkey가 더 적합하다는 점을 강조합니다. 패스키란 무엇입니까? 비밀번호와 어떻게 다른가요? 비밀번호는 기존 비밀번호 로그인을 대체할 수 있는 고급 보안 인증 방법입니다. 각 애플리케이션에는 고유한 키가 있어 보안을 보장하고 피싱과 같은 위협을 방지합니다. 사용자는 이메일과 비밀번호를 통해 신원을 확인하거나 얼굴 인식, 지문 또는 보안 키를 사용할 수 있습니다.

See all articles