简体   繁体   English

如何使用javascript验证用户输入(字符和数字)?

[英]How can I validate user input (characters and number) with javascript?

From this example I tried to validate user input when a button was clicked. 此示例中,我试图在单击按钮时验证用户输入。

$("#check_data").click(function () {
    var $userInput = $('#user_input'); //from HTML input box id="user_input"
    var pattern = " /*My user input always be like "AB1234567"*/ ";
    if ($userInput.val() == '' || !pattern.test($userInput.val())) {
        alert('Please enter a valid code.');
        return false;
    }
});

My user input input always be like "AB1234567" with this exact same characters but different 7 digits number. 我的用户输入输入始终像“ AB1234567”,具有完全相同的字符,但具有不同的7位数字。 I'm new to Javascript and Jquery, if you have any better way to validate user input, please suggest it. 我是Javascript和Jquery的新手,如果您有验证用户输入的更好方法,请提出建议。

Thank you. 谢谢。

You can use below regex Expression to check 您可以使用下面的正则表达式来检查

/[A-Za-z0-9]/g

Your code could be like this 您的代码可能像这样

    var _pattern=/[A-Za-z0-9]/g
    if($userInput.val().match(_pattern))
    {
        //your code goes here..
    }

Thanks 谢谢

You can use the below pattern to check 您可以使用以下模式检查

/^AB\d{7}$/

You can change code to 您可以将代码更改为

var pattern = '/^AB\d{7}$/';
  if ($userInput.val() == '' || !pattern.test($userInput.val()))
  {
     alert('Please enter a valid code.');
     return false;
  }

\\d{7} matches 7 digits in the range [0-9] \\d{7}匹配[0-9]范围内的7位数字

You can follow below code for this: 您可以按照以下代码进行操作:

if ($userInput.val().match(/[^a-zA-Z0-9 ]/g))
{
    // it is a valid value.

} else {
    // show error here
}

Hope it helps you. 希望对您有帮助。

Try this one. 试试这个。

$("#check_data").click(function(){
  var $userInput = $('#user_input').val();
  var pattern = /^AB[0-9]{7}?/g;
  if(!$userInput.match(pattern)){
      alert('Please enter a valid code.');
      return false;
  }
});

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

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