Javascript 验证输入值是否包含x个数字字符
我需要验证一个输入字段,该字段应至少包含x个数字字符 比如说,我需要输入至少有5个数字字符的值Javascript 验证输入值是否包含x个数字字符,javascript,jquery,validation,Javascript,Jquery,Validation,我需要验证一个输入字段,该字段应至少包含x个数字字符 比如说,我需要输入至少有5个数字字符的值 12345 - valid AB12345 - valid 123456 - valid AB312312 - valid asd - not valid 213 - not valid 首先,我尝试了input.length,但我不知道它是否有前导字母,所以length对我没有帮助 我应该如何使用jquery或javascript进行验证 使用正则表达式就可以了 function check(st
12345 - valid
AB12345 - valid
123456 - valid
AB312312 - valid
asd - not valid
213 - not valid
首先,我尝试了input.length
,但我不知道它是否有前导字母,所以length
对我没有帮助
我应该如何使用jquery或javascript进行验证 使用正则表达式就可以了
function check(str,x){
var pattern = '^[a-zA-Z0-9]*[0-9]{'+x+'}[a-zA-Z0-9]*$';
if(str.match(pattern)) return true;
return false;
}
使用正则表达式就可以了
function check(str,x){
var pattern = '^[a-zA-Z0-9]*[0-9]{'+x+'}[a-zA-Z0-9]*$';
if(str.match(pattern)) return true;
return false;
}
假设您正在验证5个数字,那么您可以使用正则表达式
/(?=(?:[\d]){5}
这个表达式的作用是:
(?=)
表示开始向前看(?:[\d])
表示匹配数字,但不捕获它们{5}
表示(?:[\d])
(匹配数字)执行5次“严格使用”;
让数字=['12345','ABC12345','123456','AB312312312','asd','213'];
number.forEach(number=>{
如果(/(?=(?:[\d]){5})/.exec(数字)){
日志(编号+“有效”);
};
});
假设您正在验证5个数字,那么您可以使用正则表达式/(?=(?:[\d]){5}
这个表达式的作用是:
(?=)
表示开始向前看(?:[\d])
表示匹配数字,但不捕获它们{5}
表示(?:[\d])
(匹配数字)执行5次“严格使用”;
让数字=['12345','ABC12345','123456','AB312312312','asd','213'];
number.forEach(number=>{
如果(/(?=(?:[\d]){5})/.exec(数字)){
日志(编号+“有效”);
};
});代码>如果
inputValue.replace(/[^0-9]/g,”)。长度<5
那么输入字段无效。如果
inputValue.replace(/[^0-9]/g,”)。长度<5
那么输入字段是无效的。像这样的东西怎么样
x = 5;
myString = "AB12345";
if (myString.replace(/[^0-9]/g,"").length >= x) {
alert('valid');
} else {
alert('not valid');
}
看。像这样的怎么样
x = 5;
myString = "AB12345";
if (myString.replace(/[^0-9]/g,"").length >= x) {
alert('valid');
} else {
alert('not valid');
}
请参阅。这将查看输入的整个长度,而不仅仅是位数,不是吗?没错。等等,让我想想另一个对你有好处的解决办法。你也可以使用我的函数,其中str
是字符串,x
是最小发生次数,它不应该有我,而是最初发布问题的那个。哦,对不起,我的错。我想发布问题注释的人会看到输入的整个长度,而不仅仅是数字,不是吗?是的。等等,让我想想另一个对你有好处的解决办法。你也可以使用我的函数,其中str
是字符串,x
是最小发生次数,它不应该有我,而是最初发布问题的那个。哦,对不起,我的错。我认为另一种选择是将所有数字替换为零(即删除所有数字),然后比较原始字符串和新字符串的长度。这将告诉您提取了多少个数字(因此开始时有多少个)。删除所有非数字。替换(/\D+/g',)
,然后检查字符串的长度。@Tushar我正在寻找的另一种替代方法是将所有数字替换为零(即删除所有数字),然后比较原始字符串和新字符串的长度。这将告诉您提取了多少个数字(因此开始时有多少个)。删除所有非数字。替换(/\D+/g')
,然后检查字符串的长度。@t这就是我要查看的内容for@JanithCinthana让我知道这是否适合你。很高兴进一步讨论。提示:(目前)避免使用新的JS结构,如let
,箭头函数
——浏览器对此的支持不好。即使是array.prototype.forEach
在let
,箭头函数
——浏览器对此的支持不好。甚至array.prototype.forEach
在