Javascript不允许输入或多或少的内容
Javascript接受16个字符(所有数字),不少于或不多于Javascript不允许输入或多或少的内容,javascript,Javascript,Javascript接受16个字符(所有数字),不少于或不多于 <div class="col-xs-4"> <div style="text-align:left;" class="form-group"> <label for="credit0_number">Credit Card Number</label> <input type="number" class="inp form-control" id="credit0_numbe
<div class="col-xs-4">
<div style="text-align:left;" class="form-group">
<label for="credit0_number">Credit Card Number</label>
<input type="number" class="inp form-control" id="credit0_number" name="credit0[number]" >
</div>
</div>
信用卡号码
我尝试了
maxlength='16'
,但它不起作用。我也尝试了min=“16”max=“16”
,它也不起作用。我能做什么?maxlength
只将输入的长度限制为16个字符Min
和max
仅适用于输入类型编号,它们限制实际值,而不是值的长度(字符串的长度)
我相信你是想验证信用卡?您可以使用pattern属性和正则表达式:
<input type="text" pattern="[0-9]{13,16}" required>
这表示长度包含数字0-9和13-16字符的任何数字。如果只允许16个字符,请尝试以下操作:
<input type="text" pattern="[0-9]{16}" required>
maxlength
仅将输入长度限制为16个字符Min
和max
仅适用于输入类型编号,它们限制实际值,而不是值的长度(字符串的长度)
我相信你是想验证信用卡?您可以使用pattern属性和正则表达式:
<input type="text" pattern="[0-9]{13,16}" required>
这表示长度包含数字0-9和13-16字符的任何数字。如果只允许16个字符,请尝试以下操作:
<input type="text" pattern="[0-9]{16}" required>
如果这些输入字段包装在表单中,则可以在表单上使用[onsubmit]侦听器 如果您正在使用,您可以这样做:
$("#id-of-your-form").on("submit", function(event) {
var len = $("#credit0_number").val().length;
if (len != 16) {
event.preventDefault();
// Show an error message here
}
});
function validCredit() {
return $("#credit0_number").val().length == 16;
}
$("#id-of-your-form").on("submit", function(event) {
if (!validCredit()) {
event.preventDefault();
// Show an error message here
}
});
$("#credit0_number").on("keyup", function(event) {
if (!validCredit()) {
// Show an error message here
}
});
编辑
如果您还想检查keyup,可以执行以下操作:
$("#id-of-your-form").on("submit", function(event) {
var len = $("#credit0_number").val().length;
if (len != 16) {
event.preventDefault();
// Show an error message here
}
});
function validCredit() {
return $("#credit0_number").val().length == 16;
}
$("#id-of-your-form").on("submit", function(event) {
if (!validCredit()) {
event.preventDefault();
// Show an error message here
}
});
$("#credit0_number").on("keyup", function(event) {
if (!validCredit()) {
// Show an error message here
}
});
如果将这些输入字段包装在表单中,则可以在表单上使用[onsubmit]侦听器 如果您正在使用,您可以这样做:
$("#id-of-your-form").on("submit", function(event) {
var len = $("#credit0_number").val().length;
if (len != 16) {
event.preventDefault();
// Show an error message here
}
});
function validCredit() {
return $("#credit0_number").val().length == 16;
}
$("#id-of-your-form").on("submit", function(event) {
if (!validCredit()) {
event.preventDefault();
// Show an error message here
}
});
$("#credit0_number").on("keyup", function(event) {
if (!validCredit()) {
// Show an error message here
}
});
编辑
如果您还想检查keyup,可以执行以下操作:
$("#id-of-your-form").on("submit", function(event) {
var len = $("#credit0_number").val().length;
if (len != 16) {
event.preventDefault();
// Show an error message here
}
});
function validCredit() {
return $("#credit0_number").val().length == 16;
}
$("#id-of-your-form").on("submit", function(event) {
if (!validCredit()) {
event.preventDefault();
// Show an error message here
}
});
$("#credit0_number").on("keyup", function(event) {
if (!validCredit()) {
// Show an error message here
}
});
您是否尝试将输入放入表单中 使用图案对我来说很好:
<input type="text" pattern="\d{16}">
您是否尝试将输入放入表单中 使用图案对我来说很好:
<input type="text" pattern="\d{16}">
除了@HaukurHaf的答案之外,您需要用
包装您的表单以显示验证消息
无标签:
信用卡号码
除了@HaukurHaf的答案之外,您需要用
包装您的表单以显示验证消息
无标签:
信用卡号码
如果您不想使用HTML5属性,您可能希望使用正则表达式和输入事件(单击和按键不够好,因为用户可以使用鼠标或键盘输入[type=“number”]
)
您想要的模式当然是/^\d{16}$/
,以确保字段中只有16个数字
var num=document.getElementById('num');
num.addEventListener('input',handler,false);
函数处理程序(){
var模式=/^\d{16}$/;
if(模式测试(数值)){
log('-->OK如果您不想使用HTML5属性,您可能需要使用正则表达式的纯JavaScript实现,并且输入事件(单击和按键不够好,因为用户可以使用鼠标或键盘进行输入[type=“number”]
)
您想要的模式当然是/^\d{16}$/
,以确保字段中只有16个数字
var num=document.getElementById('num');
num.addEventListener('input',handler,false);
函数处理程序(){
var模式=/^\d{16}$/;
if(模式测试(数值)){
console.log('-->OK添加一个onkeypress以仅允许键入数字。然后添加一个输入模式以仅允许16个字符
信用卡号码
添加一个onkeypress,只允许输入数字。然后添加一个输入模式,只允许输入16个字符
信用卡号码
是否必须是number
而不是text
?是的,我只想使用数字,不允许text@eeyatype=“number”
它在语义上不正确,因为信用卡号不是度量值。它作为一个数字没有意义,只是一个碰巧由数字组成的字符串。此代码将导致某些浏览器显示带有加减按钮的文本字段。我使用css隐藏这些按钮@Midgard@Sarahmin
max
有什么问题吗必须是number
而不是text
?是的,我只想要用户号码,不允许text@eeyatype=“number”
它在语义上不正确,因为信用卡号不是度量值。它作为一个数字没有意义,只是一个碰巧由数字组成的字符串。此代码将导致某些浏览器显示带有加减按钮的文本字段。我使用css隐藏这些按钮@Midgard@Sarahmin
max
有什么问题吗?输入s字母,我只想要数字,这就是为什么我有type=“number”不,它只允许我输入lettersYeah,但您不能提交值。它能当场显示错误吗?而不必提交表单吗?@Sarah您可以阅读更多关于模式
属性及其验证内容和内容的方式的信息。您可能还想阅读更多关于通过JavaScript甚至服务器进行事件驱动表单验证的信息-侧面验证。它输入字母,我只需要数字,这就是为什么我有type=“number”不,它只允许我输入lettersYeah,但您不能提交值。它能当场显示错误吗?而不必提交表单吗?@Sarah您可以阅读更多关于模式
属性及其验证内容和内容的方式的信息。您可能还想阅读更多关于通过JavaScript甚至服务器进行事件驱动表单验证的信息-侧面验证。我可以在k上做吗