繁体   English   中英

仅检查输入字段中使用的数字

[英]Check only numbers used in input field

我在验证功能中有一个简单的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;
}

如何检查仅使用数字。

您可以使用.match(/^\\d+$/)来检查是否只有数字。

var value = number.val().replace(/\s+/g, '');
if (value.length >= 10 && value.match(/^\d+$/)) {
  // ..
}

您还可以使用正则表达式/^\\d{10,}$/检查是否至少有10位数字/^\\d{10,}$/并避免检查length属性:

var value = number.val().replace(/\s+/g, '')
if (value.match(/^\d{10,}$/)) {
  // ..
}

另外,您还可以使用pattern属性

 <form> <input type="text" pattern="^\\d{10,}$" /> <input type="submit" /> </form> 

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/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM