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