2010-12-03 3 views
2

이 JavaScript 정규식은 사용자가 유효한 사용자 이름을 입력했는지 확인합니다.사람의 유효한 이름을 확인하기 위해 자바 스크립트 정규식을 수정하는 방법은 무엇입니까?

var regexp = "/^[a-z]([0-9a-z])+$/i"; 
if(!regexp.test(name)) 
    return "Name may consist of letter, numbers and start with a letter."); 

그러나 유효한 이름을 입력했는지 확인하고 싶습니다.

다른 말로하면 다음과 같습니다.

 
Cher 
Michael Jackson 
Mary J. Blige 
François Truffaut 

글자가 아닌 다른 사람의 이름에 유효 기간이 올 수있는 경우는 생각할 수 없습니다.

다른 유형의 구두점을 검증 실수로 거부하고 싶습니다.

그러나 François Truffaut은 프랑스어가 사용하는 c의 재미있는 버전을 가지고 있기 때문에 François Truffaut이 거부되지 않도록하고 싶습니다.

어떻게 자바 정규식

이 작업을 수행 할 것이라고
+4

작은 따옴표를 사용할 수 있습니까? 예 : 션 오라일리. – karim79

+4

또는 하이픈 : Mary-Kate Olsen. 나는 당신이 사용자를 괴롭히는 솔루션을 과도하게 설계하려고 시도하고 있다고 생각합니다. – Ender

답변

-1

에서이 작업을 수행 할 것입니다.

+0

** 사용자 이름 **에 문자 제한을 적용하는 것은 실제로 매우 좋은 생각입니다. – jwueller

+5

하지만 질문은 사용자 이름과 관련이 없습니다. 그러나이 질문에 대한 대답은 아니며 의견이어야합니다. – Quentin

+0

답변에 동의하지 않는다고 동의하십시오. –

4

이름에 원하지 않는 구두점을 사용하지 않으려면 어쩌면 짧은 목록으로 만드십시오.

var regexp = "/^[\\\/$&^[email protected]#%*~\?\[\]=\_\(\)]/" 

전체 목록은 아니지만 짧은 목록이어야합니다. 이들은 가장 합리적인 IMO 인 것처럼 보였습니다.

+0

감사합니다 Ender, 때때로 코드 태그가있는 빈둥 거리는 사람. –

+0

나를 위해 여기에서 일하지 않았다 : http://www.regular-expressions.info/javascriptexample.html – montrealist

1

시도 [\d\w.]+. 그 재미있는 프랑스어 문자를 돌봐 줘야 해. 온라인으로 here을 테스트하십시오 (루비 용이지만 거의 동일합니다).

[\d\w.][\d\w. ]*[\d\w.] 중간에 가능한 공백을 포함하여 전체 이름이 사용됩니다. 이름 길이를 2로 제한합니다. 하지만 괜찮을거야.

+0

'.'을 사용한다면 왜'\ d'와'\ w'인가? – jwueller

+0

'[]'안에있을 때 실제로'.'를 의미합니다. – detunized

관련 문제