최근 모바일 페이지 작업을 하다가 숫자입력 키보드에 문제가 생겼습니다. 기존 접근 방식은 type="tel"을 전면적으로 사용하는 것이었지만, 항상 지우공게에 영문자가 들어가는 느낌이 들었습니다. 전화번호 키보드가 너무 방해가 되었어요. 그래서 다른 구현 솔루션도 해보고 싶었으나 최종 결론은 답답했습니다. 하지만 패턴의 속성 에 대해서도 자세히 알아볼 수 있는 기회를 얻었습니다.
type="tel"과 type="number"의 차이점
먼저 초기에 발생한 문제를 설명하겠습니다. 사실 전화번호도 전화번호도 완벽하지 않습니다.
type="tel"
장점은 iOS와 Android의 키보드 성능이 비슷하다는 점
단점은 강박 장애가 없는데도 그 글자가 너무 중복된다는 것입니다.
type="number"
안드로이드에서 실제 숫자 키보드를 구현한 것이 장점
단점 1: iOS에는 9각형 격자 키보드가 없어 입력이 불편하다
단점 2: 이전 버전의 Android(WeChat에서 사용하는 X5 커널 포함)에는 입력 상자 뒤에 아주 쓸모없는 작은 꼬리가 있습니다. 다행히 Android 4.4.4부터 이 부분이 제거되었습니다.
그러나 두 번째 단점으로 웹킷의 개인 의사 요소를 사용하여 문제를 해결할 수 있습니다.
input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; appearance: none; margin: 0; }
패턴 속성
패턴은 양식 입력의 내용을 확인하는 데 사용됩니다. , 일반적으로 email, tel, number, data class, url 등과 같은 HTML5 Type 속성에는 이미 간단한 데이터 형식 확인 기능이 있습니다. 패턴을 추가하면 프런트 엔드 부분의 확인이 더 간단해집니다. 그리고 더 효율적입니다.
물론 패턴의 속성값은 정규식을 사용해야 합니다.
예
간단한 번호 확인
두 가지 번호 확인이 있습니다:
<input type="number" pattern="\d"> <input type="number" pattern="[0-9]*">
양식 확인의 경우 다음과 같은 기능을 수행합니다. 두 정규 표현식은 동일하지만 성능이 매우 다릅니다.
iOS에서는 [0-9]*만 9제곱 숫자 키보드를 활성화할 수 있으며 d는 유효하지 않습니다
Android 4.4 아래(X5 커널 포함)에서는 둘 다 숫자 키보드를 호출합니다.
Android 4.4.4 이상에서는 유형 속성만 인식합니다. 즉, 위 코드가 type="number"를 type= "text로 변경하는 경우입니다. "는 9각형 숫자 키보드 대신 전체 키보드를 불러옵니다.
일반적으로 사용되는 정규 표현식
여기서는 자세히 설명하지 않고 일반적으로 사용되는 정규 표현식을 나열합니다.
신용 카드[ 0-9]{13,16}
UnionPay 카드^62[0-5]d{13,16}$
비자: ^4[0-9]{12 }( ?:[0-9]{3})?$
MasterCard: ^5[1-5][0-9]{14}$
QQ 번호: [1 -9 ][0-9]{4,14}
휴대폰 번호: ^(13[0-9]|14[5|7]|15[0|1|2|3|5| 6 |7|8|9]|18[0|1|2|3|5|6|7|8|9])d{8}$
신분증: ^([0-9 ] ){7,18}(x| 문자, 숫자 및 밑줄 포함
강력한 비밀번호: ^(?=.d)(?=.[a-z])(?=.*[A-Z]).{ 8,10}$ 대문자, 소문자 포함 숫자와의 조합에는
특수문자를 사용할 수 없으며 길이는 8~10자 한자 7자 또는 14자: ^[u4e00- u9fa5]{1,7}$| ^[dA-Za-z_]{1,14}$
안타깝게도 패턴에 대한 브라우저 지원이 매우 열악합니다. Can I Use
하지만 글 초반에 언급한 대로라면 숫자 키보드를 바꾸면 iOS, Android 모두 문제가 없을 것입니다.
위 내용은 HTML5의 패턴 속성 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

html5的div元素默认一行不可以放两个。div是一个块级元素,一个元素会独占一行,两个div默认无法在同一行显示;但可以通过给div元素添加“display:inline;”样式,将其转为行内元素,就可以实现多个div在同一行显示了。

html5中列表和表格的区别:1、表格主要是用于显示数据的,而列表主要是用于给数据进行布局;2、表格是使用table标签配合tr、td、th等标签进行定义的,列表是利用li标签配合ol、ul等标签进行定义的。

固定方法:1、使用header标签定义文档头部内容,并添加“position:fixed;top:0;”样式让其固定不动;2、使用footer标签定义尾部内容,并添加“position: fixed;bottom: 0;”样式让其固定不动。

html5中不支持的标签有:1、acronym,用于定义首字母缩写,可用abbr替代;2、basefont,可利用css样式替代;3、applet,可用object替代;4、dir,定义目录列表,可用ul替代;5、big,定义大号文本等等。

HTML5中画布标签是“<canvas>”。canvas标签用于图形的绘制,它只是一个矩形的图形容器,绘制图形必须通过脚本(通常是JavaScript)来完成;开发者可利用多种js方法来在canvas中绘制路径、盒、圆、字符以及添加图像等。

html5废弃了dir列表标签。dir标签被用来定义目录列表,一般和li标签配合使用,在dir标签对中通过li标签来设置列表项,语法“<dir><li>列表项值</li>...</dir>”。HTML5已经不支持dir,可使用ul标签取代。

3种取消方法:1、给td元素添加“border:none”无边框样式即可,语法“td{border:none}”。2、给td元素添加“border:0”样式,语法“td{border:0;}”,将td边框的宽度设置为0即可。3、给td元素添加“border:transparent”样式,语法“td{border:transparent;}”,将td边框的颜色设置为透明即可。

因为html5不基于SGML(标准通用置标语言),不需要对DTD进行引用,但是需要doctype来规范浏览器的行为,也即按照正常的方式来运行,因此html5只需要写doctype即可。“!DOCTYPE”是一种标准通用标记语言的文档类型声明,用于告诉浏览器编写页面所用的标记的版本。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

뜨거운 주제



