2016-09-20 2 views
1

사용자가 내 양식을 제출할 수 있지만 타블렛 또는 모바일 사용자가 그림 이모티콘을 input type="text"에 입력하는 것을 어떻게 막을 수 있는지 알고 싶습니다. 중간 계층에서 오류가 발생합니다 사각형으로 내 DB에 사각형으로 씁니다.입력란에 그림 이모티콘이 표시되지 않습니다.

캔트가 Google에서 해결책을 찾은 것 같습니다. 그래서 이드는 여기에 물어 보았습니다.

내가 사용할 수있는 HTML 속성이 있습니까?

+0

데이터베이스 백엔드에 따라 당신은 또한이'해당 인코딩 및 DB utf8_unicode_bin' 잘 이모티콘을 처리 할 수있을 것입니다 사용할 수 있습니다. (당신이 1 바이트를 1 바이트로 가정하지 않는 한) – Kris

+0

@Kris 나는 이모티콘을 전혀 원하지 않습니다. – murday1983

+0

아마,하지만 중국어, 일본어, 한글, 아랍어 등의 다른 유니 코드 혜택을 원할 수도 있습니다. – Kris

답변

1

인코딩을 변경하여 데이터베이스를 호환 가능하게 만드는 것이 좋습니다.

즉, 텍스트 필드의 모든 문자를 반복하고 서수가 32에서 255 사이인지 확인하십시오. 이렇게하면 영어 텍스트에 충분할만큼만 인쇄 가능한 ASCII 문자를 허용 할 수 있습니다. 이 같은

뭔가 (테스트되지 않은, 텍스트 영역에 입력)

function stripNonAscii(input) { 
    let output = ''; 
    for (var i = 0; i < input.length; i++) { 
     let c = input.charCodeAt(i); 
     if(c >= 32 && c <= 255) { 
      output += input.substring(i, 1); 
     } 
    } 
    return output; 
} 
+0

정답입니다. 양식 처리 중에 백엔드를 다시 확인해야 할 수도 있습니다. – eosrei