2011-10-25 9 views
2

나는 그게 무슨 뜻 이죠에게 너무-Z 0-9 아래 정규식을 변경하려면 만정규식 글자 수 제한

var nameRegex = /^[a-zA-Z]+(([\'\,\.\-][a-zA-Z])?[a-zA-Z]*)*$/; 

2,4- 강조? TLD가 최소인지 확인한다는 뜻입니다. 2 ~ 4 문자. 최대?

var emailRegex = /^[\w-\.][email protected]([\w-]+\.)+[\w-]{2,4}$/; 

끝에 250자를 추가하는 방법은 {250,250}입니까? 내가 제대로 질문을받을 경우

// original 
     var messageRegex = 
new RegExp(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/gim); 

// would this work? 
     var messageRegex = 
new RegExp(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/gim){250,250}$/; 
+0

는 정확히 250 개 문자를 원하십니까? – fncomp

+0

@Josh 250 to 500 chr ... 250,500이되어야하나요? – acctman

+0

가능한 답변 게시 됨. 이것은 당신이 :) – fncomp

답변

3

, 다음이 당신을 위해 무엇을 찾고있는 사람이어야한다 :

  1. 은, A-Z에서 0-9 문자 집합을 일치, 그리고 _.

    // Would match any input with A-z 0-9 or _ in any position, given at least one char. 
    var nameRegex = /^[A-Za-z\d_]+$/; 
    
  2. 당신은 바로 {2,4}입니다. [\w-]은 이 2, 3 또는 4 자와 일치하도록 지정합니다.

  3. 귀하의 메시지 정규식이 일치를 얻을 긴 정확히 250 문자로 입력을 강제 할 것이다. 250 개 이상 500 개 미만을 원하면 {251,500}을 대신 추가하십시오.

  4. 마지막 주, 정규식 리터럴은 /someRegex/ig처럼 보인다. 리터럴을 사용하는 경우에는 생성자를 다시 감쌀 필요가 없습니다 (즉, new RegExp).

  5. 스타가 닫는 슬래시로 실행되고 다른 누군가가 표현을 주석 처리하려고하면 재미있는 버그가 발생할 수 있으므로 마지막주의 사항은 내 RegExp에서 *을 개인적으로 피해야합니다.

    /* Comment out some code 
    var myRe = /[a-z]*/i; // The comment stops before the i. 
    */ // This line breaks your code. 
    

편집 : 업데이트 점 세 OP 의견에 따라.

+4

'[A-z]'를 대문자와 일치시키기 위해 사용하지 마십시오. 그것은 작동하지만, 그것은 또한 그 코드 포인트'Z'와'A' 사이에 거짓말을하는 일이 문자'[',']','^','_', 백 슬래시와 역 따옴표를 일치합니다. '[A-Za-z]'또는'/ i' 수식자를 대신 사용하십시오. –

+0

@Alan 알아두면 좋은, 편집 됨. – fncomp

관련 문제