HTML5中模式属性怎么用

  介绍

这篇文章将为大家详细讲解有关HTML5中模式属性怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

类型=皌el"和类型=皀umber"的区别

这里还是先那么先交代一下最初遇到的问题。其实无论是电话还是数量都不是完美的:

类型=皌el"

优点是iOS和Android的键盘表现都差不多

缺点是那些字母好多余,虽然我没有强迫症但还是感觉怪怪的啊。

类型=皀umber"

优点是Android下实现的一个真正的数字键盘

缺点一:iOS下不是九宫格键盘,输入不方便

缺点二:旧版Android(包括微信所用的X5内核)在输入框后面会有超级鸡肋的小尾巴,好在Android 4.4.4以后给去掉了。

不过对于缺点二,我们可以用webkit私有的伪元素给解决掉:

输入(type=数量)::-webkit-inner-spin-button,   输入(type=数量)::-webkit-outer-spin-button {   -webkit-appearance:没有;   外观:无;   保证金:0;   }

模式属性

模式用于验证表单输入的内容,通常HTML5的类型属性,比如邮件,电话,号码,数据类,网址等,已经自带了简单的数据格式验证功能了,加上模式后,前端部分的验证更加简单高效了。

显而易见,模式的属性值要用正则表达式。

实例

简单的数字验证

数字的验证有两个:

& lt;输入类型=皀umber"模式=癨 d"比;   & lt;输入类型=皀umber"模式=癧0 - 9]*“在

对表单验证来说,这两个正则的作用是一样的,表现的话差异就很大:

iOS中,只有[0 - 9]*才可以调起九宫格数字键盘,\ d无效

Android 4.4以下(包括X5内核),两者都调起数字键盘;

Android 4.4.4以上,只认类型属性,也就是说,如果上面的代码将类型=皀umber"改为类型=皌ext",将调起全键盘而不会是九宫格数字键盘。

常用的正则表达式

模式的用法都一样,这里不再啰嗦各种详细写法了,只是列出来一些常用的正则就好了:

信用卡[0 - 9]{13日16}

银联卡^ 62 (0 - 5)\ d {13、16} $

签证:^ 4 [0 - 9]{12}(?:[0 - 9]{3})?

万美元事达:^ 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) | x) ?$

密码:^ [a-zA-Z] \ w美元{5、17}字母开头,长度在6 ~ 18之间,只能包含字母,数字和下划线

强密码:^ (?= d) (?=a - z]) (?=* [a - z])。{8 10}$包含大小写字母和数字的组合,不能使用特殊字符,长度在8 - 10之间

7个汉字或14个字符:^ [\ u4e00 - \ u9fa5] {1, 7} $ | ^ [\ dA-Za-z_] {1, 14} $

很不幸,模式的浏览器支持很惨:通过我可以用

但是如果只是如文章开头提到的改数字键盘的话,iOS和Android都是没有问题的。

关于HTML5中模式属性怎么用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

HTML5中模式属性怎么用