我在验证函数中有一个简单的if语句,用于检查字段中是否使用了至少10个数字
function verfiyFields() {
var flag = true;
var number = $atj('#interested-number-form');
if(number.val().replace(/\s+/g, '').length < 10){
number.parent().prepend('<p class="form-error">Please enter phone number</p>');
fadeOut();
flag = false;
}
return flag;
}
我怎样才能检查是否只使用了数字。
答案 0 :(得分:3)
您可以使用.match(/^\d+$/)
检查是否只有数字。
var value = number.val().replace(/\s+/g, '');
if (value.length >= 10 && value.match(/^\d+$/)) {
// ..
}
您还可以使用正则表达式/^\d{10,}$/
检查是否至少有10位数,并避免检查length
属性:
var value = number.val().replace(/\s+/g, '')
if (value.match(/^\d{10,}$/)) {
// ..
}
作为旁注,您还可以使用pattern
attribute:
<form>
<input type="text" pattern="^\d{10,}$" />
<input type="submit" />
</form>
答案 1 :(得分:0)
function verfiyFields() {
var reg = /^\D*(?:\d\D*){10}$/;
var number = $atj('#interested-number-form');
var flag = reg.test(number.val())
if (!(flag)) {
number.parent().append('<p class="form-error">Please enter a valid 10 digit phone number</p>');
}
return flag;
}
使用RegExp.test(str)检查以确保排除所有不是数字的字符的字段长度为10. RegExp.test返回true或false值,因此这可以是您返回的标志。
RegExp.test(str)文档
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test
<强> 演示: 强> http://jsfiddle.net/SeanWessell/1v6vnath/