2013-04-23 1 views
0

이 패턴은 HTML pattern="[a-zA-Z0-9-_. ]{1,30}"에 있습니다. 즉, 문자 숫자와 -_. 만 허용되지만 preg_replace과 같은 패턴을 만들고 싶지만 [ <>/\:*?"|]이 아닌 모든 것을 허용하고 싶습니다.HTML 입력에서 패턴 속성 사용

그럼 어떻게해야합니까?

답변

1

는 다음을 시도 할 수 있습니다 :

$test = "Hello [<>/\:*?\"|Mister] Jean-Samuels, how are you?_."; 
echo preg_replace('/[^\d\w-_. ]+/', '', $test); 

출력 :

Hello Mister Jean-Samuels how are you_. 

편집 : 여기

이 HTML 패턴의 JSFiddle입니다.

HTML :

[^<>/\:*?"|] 

어떤 캐릭터 안에 제외하고는 그 문자를 모든 일치합니다 : 당신이 사용할 수 있도록

<input title='Enter anything but <, >, /, \, :, *, ?, ", |' 
type='text' 
pattern='[^<>\/\\:*?"|]{1,30}' required /> 
+0

HI 모두, 답변에 대한 tahnks하지만 난이 얘기가 아냐 내가 정규식을 HTML 패턴에 넣는 것에 대해 이야기하고 있는데, char 문자를 사용하기 전에 문자를 제외 시키려고했지만 HTML 패턴에서 작동하지 않았다. – user2303038

+0

나는 HTML을 만들기 위해 내 게시물을 편집했다. 무늬. – AdamM

0

문자 클래스의 ^ 운영자가 전체 클래스를 부정한다 수업. pattern 속성의 주변 인용 부호가 " 인 경우 "을 탈출해야 할 수도 있습니다. 정규식에서

+0

나는이 캐릭터 중 일부가 작동하도록하기 위해 도망쳐 야한다고 생각했다. – Hexodus

+0

@Hexodus는 문맥에 대해 잘 알고 있습니다. 그러나 예.'''는 아마도 이스케이프가 필요할 것입니다. 주위 인용문이'''이면. –

0

부정 문자 클래스는 다음과 같이 수행됩니다 : 단지 [ 내부 ^, 즉 그것이 부정적인 만드는거야 [^characters to exclude]

참고.

그렇지 않으면 당신은 나 같은 사람이 입력하려고거야, 당신은 아마 당신이 무엇에 충실해야한다고, 말했다 ヴ ィ ッ ク サ 이름에 대한 : P

+2

하지만 내 이름이 빅크라면? :((아니야) –

+2

그럼 너 Vixor에 romanise;) –