我需要验证一个输入字段,它应该包含至少x个数字字符。
假设我需要输入的值至少有5个数字字符
12345 - valid
AB12345 - valid
123456 - valid
AB312312 - valid
asd - not valid
213 - not valid
一开始我试着用input.length
,但我不知道它会不会有前导字母,所以length
对我没有帮助
如何使用jquery或javascript进行验证?
发布于 2016-08-10 07:42:37
假设您正在验证5个数字,那么您可以使用正则表达式/(?=(?:[\d]){5})
。
这句话所做的就是;
(?=)
意味着开始展望未来(?:[\d])
的意思是匹配数字,但不要捕获它们{5}
的意思是(?:[\d])
(匹配位数)做5次
"use strict";
let numbers = [ '12345', 'ABC12345', '123456', 'AB312312', 'asd', '213'];
numbers.forEach(number=> {
if (/(?=(?:[\d]){5})/.exec(number)) {
console.log(number + " is valid.");
};
});
发布于 2016-08-10 07:38:44
使用正则表达式可以完成这个任务。
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;
}
发布于 2016-08-10 07:44:26
如果
inputValue.replace(/[^0-9]/g,"").length < 5
则输入字段无效。
https://stackoverflow.com/questions/38867023
复制相似问题