带有regex模式的html5输入类型数字

UI_Dev

我试图在输入类型中获取正则表达式模式number以仅显示数字和点。我尝试过这样的事情。

<input type="number" pattern="[0-9.]*">

<input type="tel">

两者都仅显示数字(0-9),但不显示。(点)。我需要在输入字段中使用点。

有可能通过html5吗?还是我应该使用JavaScript?

注意:这在Android中工作正常,但是。(点)未在iPhone中显示

我需要显示这样的移动键盘。

在此处输入图片说明

有什么帮助吗?

马祖

如果仅指定“ type = number”,它将在iPhone上显示键盘,例如:

在此处输入图片说明

如果您将模式指定为<input type="number" pattern="\d*"/><input type="number" pattern="[0-9]*" />,则iPhone上的键盘将如下所示:

在此处输入图片说明

Still it cannot display dot(.), currently there is no pattern to handle such case.

So you may opt for <input type="tel" /> which will provide keypad like:

在此处输入图片说明

Please refer to below links for more details on inputs for iOS:

http://bradfrost.com/blog/mobile/better-numerical-inputs-for-mobile-forms/

http://blog.pamelafox.org/2012/05/triggering-numeric-keyboards-with-html5.html

https://about.zoosk.com/nb/engineering-blog/mobile-web-design-use-html5-to-trigger-the-appropriate-keyboard-for-form-inputs/

http://mobiforge.com/design-development/html5-mobile-web-forms-and-input-types

http://www.petefreitag.com/item/768.cfm

http://html5tutorial.info/html5-contact.php

Hope this will help you. :)

Updates for customization (reference: https://stackoverflow.com/a/20021657/1771795)

您可以使用javascript进行一些自定义。让我们以带有十进制模式的货币输入为例,在该模式中e.which读取CharCode输入,然后将其推入一个数组(之前),该数组表示小数点之前的数字,另一个数组(之后)将值从(之前)数组移到小数点之后。

完整的小提琴链接

HTML:

<input type="tel" id="number" />

JS

变量和函数:

// declare variables
var i = 0,
    before = [],
    after = [],
    value = [],
    number = '';

// reset all values
function resetVal() {
    i = 0;
    before = [];
    after = [];
    value = [];
    number = '';
    $("#number").val("");
    $(".amount").html("");
}

// add thousand separater
function addComma(num) {
  return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}

主要代码:

// listen to keyup event
$("#number").on("keyup", function (e, v) {

    // accept numbers only (0-9)
    if ((e.which >= 48) && (e.which <= 57)) {

        // convert CharCode into a number   
        number = String.fromCharCode(e.which);

        // hide value in input
        $(this).val("");

        // main array which holds all numbers
        value.push(number);

        // array of numbers before decimal mark
        before.push(value[i]);

        // move numbers past decimal mark
        if (i > 1) {
            after.push(value[i - 2]);
            before.splice(0, 1);
        }

        // final value
        var val_final = after.join("") + "." + before.join("");

        // show value separated by comma(s)
        $(this).val(addComma(val_final));

        // update counter
        i++;

        // for demo
        $(".amount").html(" " + $(this).val());

    } else {

        // reset values
        resetVal();
    }
});

重启:

// clear arrays once clear btn is pressed
$(".ui-input-text .ui-input-clear").on("click", function () {
    resetVal();
});

结果:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

HTML5表单验证模式字母数字是否带有空格?

来自分类Dev

需要HTML5输入,提交时滚动到带有固定导航栏的输入

来自分类Dev

为什么HTML5输入的数字类型不起作用或在IE10中偶尔起作用

来自分类Dev

HTML5:输入类型范围是否有类似“ onrelease”的事件?

来自分类Dev

HTML5输入模式不区分大小写

来自分类Dev

样式化HTML5数字输入

来自分类Dev

带有html5颜色输入的AngularJS-动态设置值

来自分类Dev

触发数字键盘以在没有HTML5的Android / IOS中进行输入

来自分类Dev

HTML5:如何创建具有动态值的“范围输入类型”?

来自分类Dev

隐藏带有CSS类的HTML5输入类型数字箭头?

来自分类Dev

HTML5使用包含引号的模式验证文本输入

来自分类Dev

Symfony-在表单类中将HTML5输入类型“文本”更改为“数字”

来自分类Dev

HTML5输入类型=数字应仅允许无符号整数

来自分类Dev

HTML5输入类型编号+ oninput regex验证会擦除按点的字段

来自分类Dev

HTML5表单验证模式的字母数字是否带有空格?

来自分类Dev

HTML5:输入类型范围是否有类似“ onrelease”的事件?

来自分类Dev

带有HTML5的Android应用

来自分类Dev

如何在输入中接受多个HTML5模式?

来自分类Dev

HTML5输入模式不区分大小写

来自分类Dev

带有html5颜色输入的AngularJS-动态设置值

来自分类Dev

带有Sprites HTML5的动画

来自分类Dev

HTML5输入模式-数量恰好为'N'

来自分类Dev

HTML5输入文字模式

来自分类Dev

HTML5输入模式

来自分类Dev

输入数字HTML5:是否有一个事件会在每个步骤上触发?

来自分类Dev

Symfony-在表单类中将HTML5输入类型“文本”更改为“数字”

来自分类Dev

HTML5输入类型=数字应仅允许无符号整数

来自分类Dev

改变 。(点)sparator到html5中,输入类型=“数字”时,(逗号)

来自分类Dev

带有 Neurosky 传感器输入的多个 HTML5 画布不起作用

Related 相关文章

  1. 1

    HTML5表单验证模式字母数字是否带有空格?

  2. 2

    需要HTML5输入,提交时滚动到带有固定导航栏的输入

  3. 3

    为什么HTML5输入的数字类型不起作用或在IE10中偶尔起作用

  4. 4

    HTML5:输入类型范围是否有类似“ onrelease”的事件?

  5. 5

    HTML5输入模式不区分大小写

  6. 6

    样式化HTML5数字输入

  7. 7

    带有html5颜色输入的AngularJS-动态设置值

  8. 8

    触发数字键盘以在没有HTML5的Android / IOS中进行输入

  9. 9

    HTML5:如何创建具有动态值的“范围输入类型”?

  10. 10

    隐藏带有CSS类的HTML5输入类型数字箭头?

  11. 11

    HTML5使用包含引号的模式验证文本输入

  12. 12

    Symfony-在表单类中将HTML5输入类型“文本”更改为“数字”

  13. 13

    HTML5输入类型=数字应仅允许无符号整数

  14. 14

    HTML5输入类型编号+ oninput regex验证会擦除按点的字段

  15. 15

    HTML5表单验证模式的字母数字是否带有空格?

  16. 16

    HTML5:输入类型范围是否有类似“ onrelease”的事件?

  17. 17

    带有HTML5的Android应用

  18. 18

    如何在输入中接受多个HTML5模式?

  19. 19

    HTML5输入模式不区分大小写

  20. 20

    带有html5颜色输入的AngularJS-动态设置值

  21. 21

    带有Sprites HTML5的动画

  22. 22

    HTML5输入模式-数量恰好为'N'

  23. 23

    HTML5输入文字模式

  24. 24

    HTML5输入模式

  25. 25

    输入数字HTML5:是否有一个事件会在每个步骤上触发?

  26. 26

    Symfony-在表单类中将HTML5输入类型“文本”更改为“数字”

  27. 27

    HTML5输入类型=数字应仅允许无符号整数

  28. 28

    改变 。(点)sparator到html5中,输入类型=“数字”时,(逗号)

  29. 29

    带有 Neurosky 传感器输入的多个 HTML5 画布不起作用

热门标签

归档