gpt4 book ai didi

ios - 在移动设备中使用正则表达式模式的 html5 输入类型编号

转载 作者:IT王子 更新时间:2023-10-29 07:47:40 24 4
gpt4 key购买 nike

我试图让输入类型 number 中的正则表达式模式只显示数字和点。我试过这样的事情。

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

<input type="tel">

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

是否可以通过 html5 实现?或者我应该使用 javascript 吗?

注意:这在 Android 中运行良好,但 . (点)在 iPhone 中不显示

我需要像这样显示手机键盘..

enter image description here

对此有任何帮助吗?

最佳答案

如果您只指定“type=number”,它将在 iPhone 上显示键盘,如下所示:

enter image description here

如果你指定像 <input type="number" pattern="\d*"/> 这样的模式或 <input type="number" pattern="[0-9]*" /> ,然后 iPhone 上的键盘将像:

enter image description here

还是不能显示点(.),目前还没有处理这种情况的模式。

所以你可以选择 <input type="tel" />它将提供如下键盘:

enter image description here

有关 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

希望对您有所帮助。 :)

自定义更新(引用:https://stackoverflow.com/a/20021657/1771795)

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

complete fiddle link

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();
});

结果:

enter image description here

关于ios - 在移动设备中使用正则表达式模式的 html5 输入类型编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27103646/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com