我有2个输入框。我希望用户不能输入任何以0开头的数字。注意开头只有0。它可以在结尾或中间,但不是在开头。
所以允许4,40,4440而不是04。
检查这个fiddle我放了几个其他的限制,比如只允许数值,长度是4.现在我想添加与0相关的限制。
如何使用jQuery完成?
HTML
<input name="major" size="1" value="4" class="major_rev">.
<input name="minor" size="1" value="24" class="minor_rev">
答案 0 :(得分:4)
试试这个
<强> DEMO 强>
$(document).ready(function() {
//For numeric
$(".major_rev").keydown(function(event) {
// Allow only backspace and delete
if ( event.keyCode == 46 || event.keyCode == 8) {
// let it happen, don't do anything
}
else {
// Ensure that it is a number and stop the keypress
if ((event.keyCode !==9) && (event.keyCode < 48 || event.keyCode > 57 )) {
event.preventDefault();
}
else{
if($.trim($(this).val()) =='')
{
if(event.keyCode == 48){
event.preventDefault();
}
}
}
}
});
$(".minor_rev").keydown(function(event) {
// Allow only backspace and delete
if ( event.keyCode == 46 || event.keyCode == 8 ) {
// let it happen, don't do anything
if($.trim($(this).val()).length==0)
{
if(event.keyCode==48){
event.preventDefault();
}
}
}
else {
// Ensure that it is a number and stop the keypress
if (event.keyCode < 48 || event.keyCode > 57 ) {
event.preventDefault();
}
else{
if($.trim($(this).val()) =='')
{
if(event.keyCode == 48){
event.preventDefault();
}
}
}
}
});
//For MaxLength
$(".major_rev").prop("maxlength","4");
$(".minor_rev").prop("maxlength","4");
});
答案 1 :(得分:1)
如何使用这个简单的检查:
$(document).on('keyup','#testBox', function(event){
var input = event.currentTarget.value;
if(input.search(/^0/) != -1){
alert("you have started with a 0");
}
});
<强> jsFiddle 强>
答案 2 :(得分:1)
这有点晚了,但试试这个简单明了的
$(".major_rev").on("keyup", function () {
if ($(this).val() == 0) {
$(this).val(null);
}
});
答案 3 :(得分:0)
我认为我们正在寻找正则表达式..
$("input").blur(function(){
var val = $(this).val();
if( val.indexOf("0") == 0 ) {
$(this).val("");
$(this).attr("placeholder", "Invalid");
}
});
答案 4 :(得分:0)
Sangram和miklshake的答案对我有所帮助。以下是综合解决方案。
$(document).on('keyup','.major_rev', function(event){
var input = event.currentTarget.value;
if(input.search(/^0/) != -1){
alert("you have started with a 0");
}
});
$(document).ready(function() {
//For numeric
$(".major_rev").keydown(function(event) {
// Allow only backspace and delete
if ( event.keyCode == 46 || event.keyCode == 8) {
// let it happen, don't do anything
}
else {
// Ensure that it is a number and stop the keypress
if ((event.keyCode !==9) && (event.keyCode < 48 || event.keyCode > 57 )) {
event.preventDefault();
}
else{
if($.trim($(this).val()) =='')
{
if(event.keyCode == 48){
event.preventDefault();
}
}
}
}
});
$(".minor_rev").keydown(function(event) {
// Allow only backspace and delete
if ( event.keyCode == 46 || event.keyCode == 8 ) {
// let it happen, don't do anything
if($.trim($(this).val()).length==0)
{
if(event.keyCode==48){
event.preventDefault();
}
}
}
else {
// Ensure that it is a number and stop the keypress
if (event.keyCode < 48 || event.keyCode > 57 ) {
event.preventDefault();
}
else{
if($.trim($(this).val()) =='')
{
if(event.keyCode == 48){
event.preventDefault();
}
}
}
}
});
//For MaxLength
$(".major_rev").prop("maxlength","4");
$(".minor_rev").prop("maxlength","4");
});