Javascript 如何限制用户在输入元素中键入10位数字?
我想为电话号码创建一个输入字段。我正在使用JavaScript动态创建输入字段Javascript 如何限制用户在输入元素中键入10位数字?,javascript,html,css,Javascript,Html,Css,我想为电话号码创建一个输入字段。我正在使用JavaScript动态创建输入字段 <input type="text" id="phone" name="phone"> 如何限制用户仅键入10位数字才能获取电话号码。在输入中添加maxlength属性 <input type="text" id="phone" name="phone" maxlength="10"> <input type="text" id="phone" name="phone" maxl
<input type="text" id="phone" name="phone">
如何限制用户仅键入10位数字才能获取电话号码。在输入中添加
maxlength
属性
<input type="text" id="phone" name="phone" maxlength="10">
<input type="text" id="phone" name="phone" maxlength="10">
在JSFIDLE上可以看到这一点。对输入使用maxlength属性
<input type="text" id="phone" name="phone" maxlength="10">
<input type="text" id="phone" name="phone" maxlength="10">
查看此处的fiddle演示尽管您可以在输入上使用maxLength,以及一些javascript验证,但仍然需要执行服务器端验证。使用
maxLength
<input type="text" maxlength="10" />
HTML
<input type="text" id="youridher" size="10">
<input type="text" name="fieldName" id="fieldSelectorId">
使用JQuery
SIZE = 10
$(document).ready(function() {
$("#youridher").bind('keyup', function() {
if($("#youridher").val().length <= SIZE && PHONE_REGEX) {
return true;
}
else {
return false;
}
});
});
SIZE=10
$(文档).ready(函数(){
$(“#youridher”).bind('keyup',function(){
如果($(“#youridher”).val().length试试这个
<input type="text" name="country_code" title="Error Message" pattern="[1-9]{1}[0-9]{9}">
这将确保
它是数字的
最多10个字符
第一个数字不是零
我已经成功地创建了自己的工作答案
<input type="text" id="phone" name="phone" onkeypress="phoneno()" maxlength="10">
以及
<script>
function phoneno(){
$('#phone').keypress(function(e) {
var a = [];
var k = e.which;
for (i = 48; i < 58; i++)
a.push(i);
if (!(a.indexOf(k)>=0))
e.preventDefault();
});
}
</script>
函数phoneno(){
$(“#电话”)。按键(功能(e){
var a=[];
var k=e,其中;
对于(i=48;i<58;i++)
a、 推(i);
如果(!(a.indexOf(k)>=0))
e、 预防默认值();
});
}
您可以使用maxlength
来限制长度。通常,对于数字输入,您会使用type=“number”
,但是这会添加一个旋转框来滚动数字,这对电话号码完全没有用。但是,您可以使用模式
属性来限制数字输入(如果需要,还需要10个数字):
maxlength限制不能超过所需数字但接受小于所需数字的数字数。如果移动设备没有maxlength=“10”它不会接受11,但可以接受任何高达10的内容。这里,所有上述输出都给出了一个10位数字,但同时输入字段也接受字符,这不是完整的解决方案。为了只设置10位数字,我们可以将输入标记与该类型一起用作数字,这样我们就可以删除u通过在css中编写一些小代码来实现p-down数组,该代码与输入标记一起显示在下面
<input name="phone" maxlength="10" pattern="[1-9]{1}[0-9]{9}" class="form-control" id="mobile" placeholder="Enter your phone Number" type="number">
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
margin: 0;
}
输入[类型=编号]:-webkit内部旋转按钮,
输入[type=number]:-webkit外部旋转按钮{
-webkit外观:无;
-moz外观:无;
外观:无;
保证金:0;
}
只需在文档中包含parsley.js文件,并在手机号码的输入元素中输入以下内容
data parsley type=“number”data parsley length=“[10,10]”data parsley length message=“输入手机号码”
您可以根据需要更改消息
您还需要通过编写来初始化文档中的parsley.js文件
<script type="text/javascript">
$(document).ready(function() {
$('form').parsley();
});
</script>
$(文档).ready(函数(){
$('form')。欧芹();
});
---上面的代码在您的文档中。***下面的代码片段按预期完成了工作
<input type="text" name="AUS" pattern="[0-9]{10}" title="You can enter only 10 digits..." />
//type="text" <!-- always -->
//name="AUS" <!-- for Australia -->
//pattern="[0-9]{10}" <!-- 10 digits from 0 to 9 -->
//title="You can enter only 10 digits..." <!-- Pops a warning when input mismatches -->
//type=“text”
//name=“AUS”
//pattern=“[0-9]{10}”
//title=“您只能输入10位数字…”
HTML
<input type="text" id="youridher" size="10">
<input type="text" name="fieldName" id="fieldSelectorId">
此字段最多只接受10位数字,不接受零作为第一位数字
JQuery
jQuery(document).ready(function () {
jQuery("#fieldSelectorId").keypress(function (e) {
var length = jQuery(this).val().length;
if(length > 9) {
return false;
} else if(e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
return false;
} else if((length == 0) && (e.which == 48)) {
return false;
}
});
});
jQuery(文档).ready(函数(){
jQuery(“#fieldSelectorId”)。按键(功能(e){
var length=jQuery(this).val().length;
如果(长度>9){
返回false;
}否则如果(e.which!=8&&e.which!=0&&e.which<48 | e.which>57)){
返回false;
}如果((长度=0)和&(e.which==48)){
返回false;
}
});
});
如何将文本框格式设置为8位数字(00000019)
优点是它适用于type=“number”
如果您希望用户在输入控制中输入10位数字进行限制,请查找下面的代码
<input class="form-control input-md text-box single-line" id="ContactNumber" max="9999999999" min="1000000000" name="ContactNumber" required="required" type="number" value="9876658688">
利益-
它不允许在输入框中键入任何字母,因为输入框的类型为“数字”
它将允许最多10位数字,因为max属性设置为10位数字中的最大可能值
它不允许用户输入少于10位数的任何内容,因为我们希望将用户限制在10位数的电话号码中。代码中的min属性具有10位数的最小可能值,因此它将告诉用户输入不少于10位数的有效值
无论是谁在2020年查看这篇文章,他们都可以使用电话号码(10位),
数字类型,并限制为仅5位。这就是我使用的:
<input type="tel" name="phoneNumber" id="phoneNumber" title="Please use a 10 digit telephone number with no dashes or dots" pattern="[0-9]{10}" required /> <i>10 digits</i>
10位
它明确了条目中的预期内容,并给出了可用的错误消息。到目前为止您尝试的任何代码都可能重复?@Hariharansize
不限制输入字段。应使用maxlength。我在jquery中有验证代码,但它不起作用,因为我使用javascript创建了输入文本字段。大小确定S宽度,它不限制任何内容。很抱歉,我本打算写maxlength。答案已修改。这将允许在文本框中输入'abcdc',谁需要电话号码。这使用jQuery而不提及它,并且它不会检查字符是否为数字。当粘贴数据而不是键入数据时,它不起作用。编辑属性值为问题中请求的值。在这种情况下,输入字段将接受文本,即任何最大长度为10的字符串都将被接受。-@NiettheDarkAbsolOkay我将尝试此方法,但我已经解决了我的问题,我也发布了我自己的答案。您使用的浏览器是什么?旧版本的