성과 이름에 대한 정규식


125

웹 사이트 확인을 위해 이름과 성 확인이 필요합니다.

이름의 경우 문자 만 포함해야하며 공백이있는 여러 단어 일 수 있으며 최소 3 자이지만 최대 30 자까지 가능합니다. 빈 문자열은 유효성을 검사하지 않아야합니다 (예 : Jason , jason , jason smith , jason smith , JASON , Jason smith , jason Smith , jason SMITH ).

성의 경우 3 자 이상 30 자 이하의 문자로만 된 단일 단어 여야합니다. 빈 문자열은 유효성을 검사하지 않아야합니다 (예 : lazslo , LazsloLAZSLO ).


10
'조'와 같은 이름은 어떻습니까?
a'r

6
단지 말 : 하이픈 라스트 네임에서 흔히 ... 어쩌면 라스트 네임도 공백이 있습니다
tanascius

2
참고 : regularexpressionvalidator는 빈 입력을 무시합니다. 이것은 원하는 것일 수도 있고 아닐 수도 있습니다.
Hans Ke st ing

4
가능하다면 성과 이름을 요구하는 놀라운 이유가없는 한 하나의 "이름"필드 만 제공하십시오. kalzumeus.com/2010/06/17/…
Chris

1
또는 "X Æ A-12"
Rishi Dua

답변:


195

다음과 같은 이름을 잊지 마세요.

  • 마티아스 다 라스
  • 마틴 루터 킹 주니어
  • 헥터 소시지-하우젠

이것은 대부분의 경우에 트릭을 수행합니다.

/^[a-z ,.'-]+$/i

또는 매우 달콤한 유니 코드로 국제 이름 지원 :

/^[a-zA-ZàáâäãåąčćęèéêëėįìíîïłńòóôöõøùúûüųūÿýżźñçčšžÀÁÂÄÃÅĄĆČĖĘÈÉÊËÌÍÎÏĮŁŃÒÓÔÖÕØÙÚÛÜŲŪŸÝŻŹÑßÇŒÆČŠŽ∂ð ,.'-]+$/u


4
나는 탈출 할 특수 문자를 다음으로 정규 표현식에 - 특히 .(소수점 / 점 / 마침표)는 정규 표현식 와일드 카드 =) 이후
조엘 Purra

30
가능한 모든 국가 문자를 확인할 수는 없습니다. 예를 들어 헝가리어 문자 őŐűŰ가 누락되었습니다. 폴란드어 문자 łŁ도 여러 리투아니아어 및 라트비아어 문자는 말할 것도 없습니다. 오히려 이국적인 문자를 적절한 악센트없는 버전으로 변환하는 라이브러리를 찾은 다음 /^[a-z ,.'-]+$/i정규 표현식 을 작성하십시오 .
gaborsch 2013 년

69
그래서이다 陳大文유효한 이름이 여기에 있지?
Alvin Wong

16
유니 코드의 경우를 사용하십시오 /^[\p{L}'][ \p{L}'-]*[\p{L}]$/u.
Frederik Krautwald 2014

4
표현식 뒤의 i 수정자는 대소 문자 무시를 의미하므로 AZ는 원래 예제에 포함될 필요가 없습니다.
mhanney

73

이름과 성의 형식에 대해 잘못된 가정을합니다. 이름이 비어 있는지 확인하는 것 외에는 이름을 전혀 확인하지 않는 것이 좋습니다.


댓글이어야합니다.
Dementic

32

이 모든 답변을 살펴본 후 대부분의 언어를 지원하고 단어 문자 만 허용하는 작은 정규식을 빌드하는 방법을 찾았습니다. 하이픈, 공백 및 아포스트로피와 같은 일부 특수 문자도 지원합니다. 나는 파이썬에서 테스트했으며 아래 문자를 지원합니다.

^[\w'\-,.][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*(){}|~<>;:[\]]{2,}$

지원되는 문자 :

abcdefghijklmnopqrstwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
áéíóúäëïöüÄ'
陳大文
łŁőŐűŰZàáâäãåąčćęèéêëėįìíîïłńòóôöõøùúûüųū
ÿýżźñçčšžÀÁÂÄÃÅĄĆČĖĘÈÉÊËÌÍÎÏĮŁ
ŃÒÓÔÖÕØÙÚÛÜŲŪŸÝŻŹÑßÇŒÆČŠŽ.-
ñÑâê都道府県Федерации
আবাসযোগ্য জমির걸쳐 있는

2
모든 해답 중이 하나 4 ng를 이용하여 마법처럼 일
데니스 M.

1
정규식이 2 자 문자열에서 실패합니다. 나는 이것이 그것을 고쳤다 고 생각한다^[\w'\-,.]*[^_!¡?÷?¿\/\\+=@#$%ˆ&*(){}|~<>;:[\]]*$
TKA

자국 문자가 지원되지만 첫 번째 위치에는 없습니다. 나는에 식을 변경할 것^[^0-9_!¡?÷?¿/\\+=@#$%ˆ&*(){}|~<>;:[\]]{2,}$
TOUDIdel

18

이름을 처리하기 위해 사용자 지정 정규식을 만들었습니다.

나는 이러한 유형의 이름을 시도하고 완벽하게 작동하는 것을 발견

  1. 존 스미스
  2. 존 D' Largy
  3. John Doe-Smith
  4. John Doe Smith
  5. 헥터 소시지-하우젠
  6. 마티아스 다 라스
  7. 마틴 루터 킹
  8. 아이 웡
  9. 차오 창
  10. 알츠 베타 바라

내 RegEx는 다음과 같습니다.

^([a-zA-Z]{2,}\s[a-zA-Z]{1,}'?-?[a-zA-Z]{2,}\s?([a-zA-Z]{1,})?)

MVC4 모델 :

[RegularExpression("^([a-zA-Z]{2,}\\s[a-zA-Z]{1,}'?-?[a-zA-Z]{2,}\\s?([a-zA-Z]{1,})?)", ErrorMessage = "Valid Charactors include (A-Z) (a-z) (' space -)") ]

\\이스케이프 문자의 경우 이중 을 참고하십시오.

RegEx를 처음 사용하는 분들을 위해 설명을 포함하겠습니다.

^               // start of line
[a-zA-Z]{2,}    // will except a name with at least two characters
\s              // will look for white space between name and surname
[a-zA-Z]{1,}    // needs at least 1 Character
\'?-?           // possibility of **'** or **-** for double barreled and hyphenated surnames
[a-zA-Z]{2,}    // will except a name with at least two characters
\s?             // possibility of another whitespace
([a-zA-Z]{1,})? // possibility of a second surname

여러 이름을 테스트 한 다음 이름이 아닌 몇 가지를 테스트하는 단위 테스트가 있습니다. 이름이 아닌 목록에는 첫 번째 항목으로 '테스트 토큰'이 있습니다. 이것은 그것과 일치합니다.
Rob

거의 내가 찾던 것입니다. 나는 당신이 프랑스 남자라고 생각합니다. 그리고 한 가지 경우는 프랑스어로 접할 수 없습니다. Jean-Pierre, Marie-Charlotte 등과 같이 구성된 이름입니다. 저는 reg exp를 처음 사용하지만-? 당신이 성을 위해했던 것처럼, 두 개의 첫 단어 사이에, 그 일을 할 수 있습니다.
Linpter

안녕하세요 Linpter, 프랑스어가 아닙니다.하지만 저는 프랑스 이름이 있습니다. 예. 나는 이것을 테스트하지 않았지만 첫 번째 []에-를 추가 할 수 있어야합니다. 따라서 다음과 같이 변경하십시오. ^ ([a-zA-Z] {2,} \ s [a-zA-z] {1,} ' ?-? [a-zA-Z] {2,} \ s? ([a-zA-Z] {1,})?)받는 사람 : ^ ([a-zA-Z-] {2,} \ s [a-zA-z] {1,} '?-? [a-zA-Z] {2,} \ s? ([a-zA-Z] {1,})?)
Francois Muller

16

나는 그것을 검색하고, 검색하고, 연주하고, 놀았으며, 완벽하지는 않지만 다른 사람들이 하나의 변수로 제공된 성과 이름을 확인하려고 시도하는 데 도움이 될 수 있습니다.

제 경우에는 그 변수가 $ name입니다.

내 PHP에 다음 코드를 사용했습니다.

    if (preg_match('/\b([A-Z]{1}[a-z]{1,30}[- ]{0,1}|[A-Z]{1}[- \']{1}[A-Z]{0,1}  
    [a-z]{1,30}[- ]{0,1}|[a-z]{1,2}[ -\']{1}[A-Z]{1}[a-z]{1,30}){2,5}/', $name)  
    # there is no space line break between in the above "if statement", any that   
    # you notice or perceive are only there for formatting purposes.  
    # 
    # pass - successful match - do something
    } else {
    # fail - unsuccessful match - do something

RegEx를 직접 배우고 있지만 RegEx 친구가 제공 한 코드에 대한 설명이 있습니다.
여기있어:

단어 경계«\ b»에서 위치 지정

아래 정규 표현식을 일치시키고 일치하는 항목을 역 참조 번호 1로 캡처
«([AZ] {1} [az] {1,30} [-] {0,1} | [AZ] {1} [-\ '] { 1} [AZ] {0,1} [az] {1,30} [-] {0,1} | [az] {1,2} [-\ '] {1} [AZ] {1} [ az] {1,30}) {2,5}»

2 ~ 5 회, 최대한 많이, 필요한만큼 돌려주기 (욕심)«{2,5}»

* 이 노트의 예의를 이해하는 데 도움이 필요합니다 *

참고 : 캡처 그룹 자체를 반복했습니다. 그룹은 마지막 반복 만 캡처합니다. 반복 된 그룹 주위에 캡처 그룹을 배치하여 모든 반복을 캡처합니다. «{2,5}»

아래 정규식 중 하나와 일치 (실패한 경우에만 다음 대체 시도)«[AZ] {1} [az] {1,30} [-] {0,1}»

"A"와 "Z"«[AZ] {1}»범위의 단일 문자와 일치

정확히 1 회«{1}»

"a"와 "z"사이의 범위에서 단일 문자 일치«[az] {1,30}»

1 ~ 30 회, 가능한 한 많이, 필요에 따라 환원 (욕심)«{1,30}»

목록“-”«[-] {0,1}»에있는 단일 문자와 일치

0 ~ 1 회, 가능한 한 많이, 필요한만큼 돌려주기 (욕심)«{0,1}»

또는 아래의 정규식 2 번과 일치 (실패한 경우에만 다음 대안 시도)«[AZ] {1} [-\ '] {1} [AZ] {0,1} [az] {1,30} [ -] {0,1}»

"A"와 "Z"«[AZ] {1}»범위의 단일 문자와 일치

정확히 1 회«{1}»

아래 목록에있는 단일 문자 일치«[-\ '] {1}»

정확히 1 회«{1}»

문자 "-"«-»A '문자«\'»중 하나

“A”와“Z”«[AZ] {0,1}»사이의 범위에서 단일 문자를 찾습니다.

0 ~ 1 회, 가능한 한 많이, 필요한만큼 돌려주기 (욕심)«{0,1}»

"a"와 "z"사이의 범위에서 단일 문자 일치«[az] {1,30}»

1 ~ 30 회, 가능한 한 많이, 필요에 따라 환원 (욕심)«{1,30}»

목록“-”«[-] {0,1}»에있는 단일 문자와 일치

0 ~ 1 회, 가능한 한 많이, 필요한만큼 돌려주기 (욕심)«{0,1}»

또는 아래 정규식 번호 3과 일치합니다 (일치하지 못하면 전체 그룹이 실패 함)«[az] {1,2} [-\ '] {1} [AZ] {1} [az] {1,30} »

"a"와 "z"사이의 범위에서 단일 문자 일치«[az] {1,2}»

1 ~ 2 회, 최대한 많이, 필요에 따라 환원 (욕심)«{1,2}»

“”및“ '”«[-\'] {1}»범위의 단일 문자와 일치

정확히 1 회«{1}»

"A"와 "Z"«[AZ] {1}»범위의 단일 문자와 일치

정확히 1 회«{1}»

"a"와 "z"사이의 범위에서 단일 문자 일치«[az] {1,30}»

1 ~ 30 회, 가능한 한 많이, 필요에 따라 환원 (욕심)«{1,30}»

이 검증은 양식을 작성하는 모든 사람이 서양식 이름을 가지고 있으며 전 세계에서 대다수의 사람들을 제거 할 수 있다고 전적으로 가정합니다. 그러나 이것이 올바른 방향으로 나아가는 단계라고 생각합니다. 아마도이 정규식은 전문가가 단순하게 다루기에는 너무 기본적이거나 내 검색에서 위의 코드를 찾을 수없는 다른 이유가있을 수 있습니다. 나는이 부분을 알아 내기 위해 너무 오랜 시간을 보냈다. 아래의 내 테스트 이름을 보면 내 마음이이 모든 것에 얼마나 흐릿한 지 알 수있을 것이다.

다음 이름에 대한 코드를 테스트했으며 결과는 각 이름의 오른쪽에 괄호 안에 있습니다.

  1. STEVE SMITH (실패)
  2. Stev3 Smith (실패)
  3. STeve Smith (실패)
  4. Steve SMith (실패)
  5. Steve Sm1th (Steve Sm에 전달됨)
  6. d' Are to Beaware (Are to Beaware에서 전달됨)
  7. 조 블로우 (통과)
  8. 우형 경 (통과)
  9. Mike O'Neal (통과)
  10. Steve Johnson-Smith (통과)
  11. Jozef-Schmozev Hiemdel (통과)
  12. O Henry Smith (통과)
  13. Mathais d' Arras (통과)
  14. 마틴 루터 킹 주니어 (통과)
  15. 다운타운 제임스 브라운 (통과)
  16. Darren McCarty (통과)
  17. George De FunkMaster (통과)
  18. Kurtis B-Ball 농구 (통과)
  19. Ahmad el Jeffe (통과)

기본 이름이있는 경우 위의 코드가 작동하려면 1 ~ 5 개 이상이어야합니다. 테스트 중에 사용한 것과 비슷합니다.이 코드가 적합 할 수 있습니다.

개선 사항이 있으면 알려주십시오. 저는 초기 단계에 있습니다 (RegEx를 파악한 후 처음 몇 달.

감사합니다. 행운을 빕니다, 스티브


1
"The Fourth"또는 "IV"가 이것과 함께 작동합니까?
majidarif

11

이름은

"([a-zA-Z]{3,30}\s*)+"

전체 이름 부분이 30 자 미만이어야한다면 별도로 확인해야한다고 생각합니다. 표현 ".{3,30}"은 그렇게해야합니다.

성 요구 사항은 다음과 같이 번역됩니다.

"[a-zA-Z]{3,30}"

하지만 이것들을 확인해야합니다. 공백이 포함 된 성이 많이 있습니다.


사이에 공백이 있는지 확인합니까?
Y_Y 2014 년

2
무엇에 대한 오코너 ? 아포스트로피도 포함되어야합니다.
우주인

1
꽤 불완전합니다. 이름은 하이픈이있는 "Jean-Claude"일 수 있습니다. 성은 인용 부호가있는 "D' arc"일 수 있습니다. 또한 "François"가 이름이면 어떻게됩니까?
bart

1
"알"은 어때? 유효한 이름. 두 글자 만. 중국어, 러시아어, 힌디어 이름은 어떻습니까? 유럽 ​​이름은 어떻습니까?
Christian Hujer 2016

영어 이외의 또는 많은이 wouldnt하는 작업 (? 비 라틴어) 이름
올드 보이

7

maček이 말했듯이 :

다음과 같은 이름을 잊지 마세요.

마티아스 다 라스

마틴 루터 킹 주니어

헥터 소시지-하우젠

다음과 같은 경우를 제거합니다.

.. 마티아스

마틴 킹 주니어-

여기에는 더 많은 경우가 포함됩니다.

^([a-z]+[,.]?[ ]?|[a-z]+['-]?)+$

내 문자 길이를 제한하려면 코드가 무엇입니까?
G.Abhisek

1
예, Martin Luther King Jr.가 경기로 돌아오고 Henry the Eighth도 마찬가지입니다.
Steve Kinzey

7

국제 여권 (ICAO)을 확인하는 앱을 개발 중입니다. 영어 만 지원합니다. 대부분의 외국 문자는 라틴 알파벳의 문자 (예 : è by e)로 표현할 수 있지만, 문자에 'e'를 추가해야하는 독일어 움라우트와 같이이를 나타내는 추가 문자가 필요한 여러 국가 문자가 있습니다. 예 : ä by ae.

다음은 우리가 사용하는 성과 이름에 대한 JavaScript Regex입니다.

/^[a-zA-Z '.-]*$/

국제 여권의 최대 문자 수는 31 자 입니다. 정규식에 포함하는 대신 maxlength = "31"을 사용하여 더 나은 단어 오류 메시지를 사용합니다.

다음은 양식 및 오류 처리가 포함 된 AngularJS 1.6의 코드 스 니펫입니다.

class PassportController {
  constructor() {
    this.details = {};
    // English letters, spaces and the following symbols ' - . are allowed
    // Max length determined by ng-maxlength for better error messaging
    this.nameRegex = /^[a-zA-Z '.-]*$/;
  }
}

angular.module('akyc', ['ngMessages'])
  .controller('PassportController', PassportController);
 
.has-error p[ng-message] {
  color: #bc111e;
}

.tip {
  color: #535f67;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.6/angular.min.js"></script>
<script src="https://code.angularjs.org/1.6.6/angular-messages.min.js"></script>

<main ng-app="akyc" ng-controller="PassportController as $ctrl">
  <form name="$ctrl.form">

    <div name="lastName" ng-class="{ 'has-error': $ctrl.form.lastName.$invalid} ">
        <label for="pp-last-name">Surname</label>
        <div class="tip">Exactly as it appears on your passport</div>
        <div ng-messages="$ctrl.form.lastName.$error" ng-if="$ctrl.form.$submitted" id="last-name-error">
          <p ng-message="required">Please enter your last name</p>
          <p ng-message="maxlength">This field can be at most 31 characters long</p>
          <p ng-message="pattern">Only English letters, spaces and the following symbols ' - . are allowed</p>
        </div>
        
        <input type="text" id="pp-last-name" ng-model="$ctrl.details.lastName" name="lastName"
               class="form-control" required ng-pattern="$ctrl.nameRegex" ng-maxlength="31" aria-describedby="last-name-error" />
      </div>

      <button type="submit" class="btn btn-primary">Test</button>

  </form>
</main>


@danieltakeshi 당신은 내 정규식을 사용하지 않았습니다. / ^ [A-ZA-Z '.-] * $ / :이 사용
알렉산더 Burakevych

5

나는 사용한다:

/^(?:[\u00c0-\u01ffa-zA-Z'-]){2,}(?:\s[\u00c0-\u01ffa-zA-Z'-]{2,})+$/i

다른 방법을 사용하여 maxlength를 테스트하십시오.


5

이 정규식은 나를 위해 작동합니다 (Angular 8에서 사용했습니다).

([a-zA-Z',.-]+( [a-zA-Z',.-]+)*){2,30}

여기에 이미지 설명 입력

다음이있는 경우 유효하지 않습니다.

  1. 이름의 모든 공백 시작 또는 끝
  2. @와 같은 기호가 있습니다.
  3. 2 개 미만 또는 30 개 이상

잘못된 이름의 예 (공백)

여기에 이미지 설명 입력

유효한 이름의 예 :

여기에 이미지 설명 입력


6
'Björk Guðmundsdóttir'는 어떻습니까?
Mariusz Jamro

4

단순화를 위해 다음을 사용할 수 있습니다.

(.*)\s(.*)

내가 좋아하는 점은 성이 항상 이름 뒤에 있다는 것입니다. 따라서이 일치 그룹을 데이터베이스에 입력하고 이름이 John M. Smith이면 첫 번째 그룹은 John M이됩니다. , 두 번째 그룹은 Smith입니다.


2
^\p{L}{2,}$

^ 줄 시작 위치를 지정합니다.

\ p {L}은 모든 언어의 모든 문자와 일치합니다.

{2,} Quantifier — 2 번에서 무제한으로 가능한 한 많이 매칭하여 필요에 따라 돌려줍니다 (욕심)

$는 줄 끝의 위치를 ​​주장합니다.

따라서 숫자 나 다른 문자없이 최소 2 개의 문자 (또는 기호)를 포함하는 모든 언어로 된 이름이어야합니다.


'및-와 같은 일부 문자는 이름에 유효합니다.
Mathijs Segers 2019

1

따라서 고객과 함께 다음과 같은 미친 정규식을 만듭니다.

(^$)|(^([^\-!#\$%&\(\)\*,\./:;\?@\[\\\]_\{\|\}¨ˇ“”€\+<=>§°\d\s¤®™©]| )+$)

1

성과 이름의 경우 실제로 찾아야 할 두 가지 사항이 있습니다.

  1. 길이
  2. 함유량

내 정규식은 다음과 같습니다.

var regex = /^[A-Za-z-,]{3,20}?=.*\d)/

1. 길이

여기서 {3,20}은 문자열의 길이를 3 ~ 20 자로 제한합니다.

2. 내용

대괄호 [A-Za-z] 사이의 정보는 대문자와 소문자를 허용합니다. 모든 후속 기호 (-,.)도 허용됩니다.


1

이것이 내가 사용하는 것입니다.

이 정규식은 최소 문자가있는 이름 만 허용합니다 A-Z a-z ,space and -.

이름 예 :

Ionut Ionete, Ionut-Ionete Cantemir, Ionete Ionut-Cantemirm Ionut-Cantemir Ionete-Second

이름의 문자 제한은 3입니다. 이것을 변경하려면 {3,}을 {6,}로 수정하십시오.

([a-zA-Z\-]+){3,}\s+([a-zA-Z\-]+){3,}

2
ä å ö Ä Å Ö 등은 어떻습니까? 스웨덴 이름에서 매우 일반적입니다. 성 O'Conner도 실패하고 이중 배럴 이름도 문제를 일으킬 것입니다. 유효한 이름을 가진 사람들에게는 이것은 매우 실망 스럽습니다.
Wilt

O'Connor와 같은 이름의 아포스트로피는 어떻습니까?
Fogmeister

내 표현은 유효한 이름으로 마이클 조던 오라일리 주니어를 반환
스티브 Kinzey에게

0

다음 표현식은 UTF-16에서 지원하는 모든 언어에서 작동 하며 이름에 최소 두 개의 구성 요소 (예 : 이름 + 성) 가 있는지 확인 하지만 중간 이름도 허용합니다.

/^(\S+ )+\S+$/u

이 글을 쓰는 시점에는 다른 답변이 모든 기준을 충족하지 못하는 것 같습니다. 짝수 ^\p{L}{2,}$U+FEFF(Zero Width No-Break Space) 와 같은 "보이지 않는"문자와도 일치하므로 짧습니다 .


regexr.com에 대한 javascript를 전달하지 않습니다. 1) 유니 코드 기능이 모든 브라우저에서 지원되지 않을 수 있음을 경고합니다. 2) 또한 정규식에서 숫자를 허용합니다. 예 : michael dimmittsasd2123123
Michael Dimmitt

0

내가 이미 여기에 게시했듯이 최대 호환성을 위해 다음 솔루션을 시도 하십시오 .

자바 스크립트 :

var nm_re = /^(?:((([^0-9_!¡?÷?¿/\\+=@#$%ˆ&*(){}|~<>;:[\]'’,\-.\s])){1,}(['’,\-\.]){0,1}){2,}(([^0-9_!¡?÷?¿/\\+=@#$%ˆ&*(){}|~<>;:[\]'’,\-. ]))*(([ ]+){0,1}(((([^0-9_!¡?÷?¿/\\+=@#$%ˆ&*(){}|~<>;:[\]'’,\-\.\s])){1,})(['’\-,\.]){0,1}){2,}((([^0-9_!¡?÷?¿/\\+=@#$%ˆ&*(){}|~<>;:[\]'’,\-\.\s])){2,})?)*)$/;

HTML5 :

<input type="text" name="full_name" id="full_name" pattern="^(?:((([^0-9_!¡?÷?¿/\\+=@#$%ˆ&*(){}|~<>;:[\]'’,\-.\s])){1,}(['’,\-\.]){0,1}){2,}(([^0-9_!¡?÷?¿/\\+=@#$%ˆ&*(){}|~<>;:[\]'’,\-. ]))*(([ ]+){0,1}(((([^0-9_!¡?÷?¿/\\+=@#$%ˆ&*(){}|~<>;:[\]'’,\-\.\s])){1,})(['’\-,\.]){0,1}){2,}((([^0-9_!¡?÷?¿/\\+=@#$%ˆ&*(){}|~<>;:[\]'’,\-\.\s])){2,})?)*)$" required>


0

이것은 나를 위해 일하는 것 같습니다.

[\S]{2,} [\S]{2,}( [\S]{2,})*

-1

PHP에서 preg_match를 사용하는 간단한 함수

<?php
function name_validation($name) {
    if (!preg_match("/^[a-zA-Z ]*$/", $name) === false) {
        echo "$name is a valid name";
    } else {
        echo "$name is not a valid name";
    }
}

//Test
name_validation('89name');
?>


-2

개별 단어에 대한 제한없이 전체 이름이 3 ~ 30 자 사이가되도록하려면 다음을 시도하십시오.

[a-zA-Z ]{3,30}

모든 외국 문자는 é, è, à, ï로 제외됩니다.

각 개별 단어에 3 ~ 30 자 제한을 적용하려면 Jens regexp가 작업을 수행합니다.


-2
var name = document.getElementById('login_name').value; 
if ( name.length < 4  && name.length > 30 )
{
    alert ( 'Name length is mismatch ' ) ;
} 


var pattern = new RegExp("^[a-z\.0-9 ]+$");
var return_value = var pattern.exec(name);
if ( return_value == null )
{
    alert ( "Please give valid Name");
    return false; 
} 
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.