javascript - jQuery Click 函数,输入值长度和模式

标签 javascript jquery html javaquery

我有一个问题,两天以来我一直在努力解决这个问题。 我有一个要求提供电话号码的网页,我正在尝试将电话号码的“验证器”放入输入选项卡中,但似乎我不知道如何检查输入选项卡的最小长度,也不知道如何只接受数字字符。代码如下:

    $("#start").click(function(){ // click func
    if ($.trim($('#phonenr').val()) == ''){
     $("#error").show();

我尝试添加:

     if ($.trim($('#phonenr').val()) == '') && ($.trim($('#phonenr').val().length) < 15)

但这行不通。 任何帮助,将不胜感激。另请告诉我如何使其只允许数字?

谢谢!

最终代码,在 @Saumya Rastogi 的帮助下。 $("#start").click(function(){

    var reg = /^\d+$/;
    var input_str = $('#phonenr').val();
   chopped_str = input_str.substring(0, input_str.length - 1);
   if(!reg.test(input_str)) {
    $("#error").show();
    return;
}
if(($.trim(input_str) == '') || ($.trim(input_str).length < 15)) {
  $("#error").show();
} else {

最佳答案

您可以进行验证。

您可以使用test (正则表达式匹配测试)仅接受输入文本中的数字。只需使用 javascript 的 substring chop 输入的非数字字符,如下所示:

$(function() {
	$('#btn').on('click',function(e) {
  	var reg = /^\d+$/; // <------ regex for validatin the input should only be digits
    var input_str = $('#phonenr').val();
    chopped_str = input_str.substring(0, input_str.length - 1);
    if(!reg.test(input_str)) {
    	$('label.error').show();
        return;
    }
    if(($.trim(input_str) == '') || ($.trim(input_str).length < 15)) {
      $('label.error').show();
    } else {
      $('label.error').hide();
    }
  });
})
label.error {
  display: none;
  color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="phonenr" type="text" value=""><br>
<label class='error'>Invalid Number</label>
<br><br>
<button id="btn">Click to Validate</button>

希望这有帮助!

关于javascript - jQuery Click 函数,输入值长度和模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41303594/

相关文章:

javascript - jQuery show() 之后输入元素未正确对齐

javascript - 如何使用下拉列表触发 Jquery 函数?

javascript - 如何计算嵌套模型的属性

java - 通过 JSNI 从 jQuery slider 内调用 Java 函数

javascript - 循环遍历表并将特定单元格存储在数组中(如果选中行)

html - 我无法扩展最后一个 child 的边界

javascript - 是否可以在没有点击的情况下通过 selenium webdriver 执行 OnClick javascript 函数

javascript - 使用 Jest 和 create-react-app 测试 React Async

jquery - $(document).ready 有必要吗?

javascript - 在 laravel Blade 页面中说 $.ajax 不是函数