2014-11-25 1 views
-1

파일 업로드 페이지 스크립트 (자바 스크립트)를 작성하고 있습니다. 사용자는 자신의 컴퓨터에서 파일을 선택합니다.문자열 (자바 스크립트)에 영숫자, 대시, 밑줄 및 마침표 만 허용

내가 아닌 파일 이름이 포함 된 문자열에서 무엇을 제거해야합니다

  • 편지
  • 숫자
  • 대시
  • 밑줄
  • 마침표

나는 자바 스크립트를 사용하려고 시도했다. f unction은 불필요한 문자를 제거합니다.

편지에 잎
rawFilename = data.files[0].name; 
safeFilename = rawFilename.replace(/\W/g, ''); 

, 숫자, 밑줄, 그러나 나는 또한 대시와 기간을 허용해야합니다 : 내가 사용하는 모든 영숫자가 아닌 부분을 제거 할 수 있어요. 대시와 마침표를 선택하는 올바른 정규식이 무엇인지는 확실하지 않습니다.

답변

4

이 음 character class하여 매우 간단하다 :

str = str.replace(/[^\w.-]+/g, ""); 

유일한 잡았다 그것이 범위 연산자로 해석 될 수 있으므로 - 요구 목록에서 첫 번째 또는 마지막이어야하는 점이다.

+0

Perfect. Lucas에게 감사드립니다! –

+0

또는 대시가 이스케이프 처리 될 수도 있습니다. – Gary

관련 문제