我正在使用JavaScript正则表达式,并且根据我的需要,文本框仅接受10位数字,但是不允许使用字符串和特殊字符,但我尝试过此操作,但对我不起作用。
function myFunction() {
var number = $("#num").val();
var compare = '[0][1-9]\d{9}$|^[1-9]\d{9}$';
if (number.match(compare)) {
return true;
} else {
alert('not match');
return false;
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="num" onblur="myFunction()">
答案 0 :(得分:1)
使用[0-9]d{10}
仅指定0-9和10之间的字符。
<!DOCTYPE html>
<html>
<body>
<input type="text" id="num" onblur="myFunction()">
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script>
function myFunction() {
var number=$("#num").val();
var compare=/[0-9]{10}/;
if(number.match(compare)){
alert('match');
}
else{
alert('not match');
}
}
</script>
</body>
</html>
或者更好的是,完全使用HTML做到这一点:
<!DOCTYPE html>
<html>
<body>
<form>
<input type="text" id="num" pattern="[0-9]{10}" required><button>test</button>
</form>
</body>
</html>
答案 1 :(得分:1)
尝试使用此正则表达式:
var compare=/^[0-9]{1,10}$/g
答案 2 :(得分:0)
您可以使用:<input type="number" size="10">
答案 3 :(得分:0)