jQuery:前臺頁面常用驗證方法(正則):金額、整數、長度、單選全選

1、這是用的bootstrap模態框

<div class="modal fade" id="addModal" tabindex="-1" role="dialog"
				aria-labelledby="myModalLabel">
				<div class="modal-dialog" role="document">
					<form action="addGoods.do" method="post"
						onsubmit="return checkForm();" id="frm">
						<div class="modal-content">
							<div class="modal-header" style="background: #8DDD9C;">
								<button type="button" class="close" data-dismiss="modal"
									aria-label="Close">
									<span aria-hidden="true">×</span>
								</button>
								<h4 class="modal-title" id="myModalLabel">
									新增商品
								</h4>
							</div>
							<div class="modal-body">
								<div class="row">
									<div class="col-sm-3">
										名稱:
									</div>
									<div class="col-sm-6">
										<input name="name" class="form-control" maxlength="25">
									</div>
								</div>
								<div class="row">
									<div class="col-sm-3">
										類型:
									</div>
									<div class="col-sm-6">
										<select name="type" class="form-control">
											<option value="電子消費產品">
												電子消費產品
											</option>
											<option value="家用電器">
												家用電器
											</option>
											<option value="休閒食品">
												休閒食品
											</option>
											<option value="其他">
												其他
											</option>
										</select>
									</div>
								</div>
								<div class="row">
									<div class="col-sm-3">
										單價:
									</div>
									<div class="col-sm-6">
										<input name="price" size="15" class="form-control">
									</div>
								</div>
								<div class="row">
									<div class="col-sm-3">
										數量:
									</div>
									<div class="col-sm-6">
										<input name="num" size="15" class="form-control">
									</div>
								</div>

								<div class="row">
									<div class="col-sm-3">
										日期:
									</div>
									<div class="col-sm-6">
										<input type="date" name="createdate" size="15"
											class="form-control">
									</div>
								</div>
								<div class="row">
									<div class="col-sm-3">
										總價:
									</div>
									<div class="col-sm-6">
										<input name="total" size="15" class="form-control">
									</div>
								</div>
								<div class="row">
									<div class="col-sm-3">
										描述:
									</div>
									<div class="col-sm-6">
										<input name="description" size="15" class="form-control"
											maxlength="25">
									</div>
								</div>
							</div>
							<div class="modal-footer">
								<span style="color: red; float: left">(以上所填皆不可爲空)</span>
								<input type="submit" value="確定" class="btn"
									style="background: #8DDD9C;">
								<input type="button" value="取消" class="btn btn-default"
									data-dismiss="modal">
							</div>
						</div>
					</form>
				</div>
			</div>

1、//判斷數量框是否爲非零整數

$("[name=num]").keyup(function() {
					if (!/^[1-9]\d*$/.test(this.value)) {
						alert('請輸入整數');
						this.value = '';
					}
				});

2、//判斷單價框是否爲金額(金額:整數,1位小數或者2位小數)

$("[name=price]")
						.blur(
								function() {
									if (!/^(?:[1-9][0-9]*(?:\.[0-9]{1,2})?|0(?:\.[0-9]{1,2})?)$/
											.test(this.value)) {
										alert('只能輸入數字,小數點後只能保留兩位');
										this.value = "";
									}
								});

3、//添加模態框中總價的計算,會根據數量以及單價變化而變化

//當單價發生變化
				$("[name=price]").change(
						function() {
							var total = parseInt($("[name=num]").val())
									* parseFloat($("[name=price]").val(), 2);
							$("[name=total]").val();
							$("[name=total]").val(total);
						});
				//當產品數量發生變化
				$("[name=num]").change(
						function() {
							var total = parseInt($("[name=num]").val())
									* parseFloat($("[name=price]").val());
							$("[name=total]").val();
							$("[name=total]").val(total);
						});
//判斷姓名框、描述框、類型款長度是不是超出
$("[name=name]").bind("input propertychange", function() {
					if (this.value.length == 25) {
						alert("不超過25個漢字(包括數字、標點等)!");
					}
				});
				$("[name=description]").bind("input propertychange",
						function() {
							if (this.value.length == 25) {
								alert("不超過25個漢字(包括數字、標點等)!");
							}
						});
				$("[name=type]").bind("input propertychange", function() {
					if (this.value.length == 25) {
						alert("不超過25個漢字(包括數字、標點等)!");
					}
				});
//判斷輸入框中的值是否爲空
function checkForm(frm) {
	var textFlag = true;
	$("#frm input").each(function(i, obj) {
		if (obj.value == "") {
			alert("請將信息填寫完整!");
			textFlag = false;
			return false;
		} else {
			textFlag = true;
		}
	});
	if (textFlag == true) {
		alert("添加成功!");
	}
	return textFlag;
}

全選按鈕

//全選按鈕
function chk_all() {
	var arrChk = $("[name=chk]");
	if ($("#checkall").prop("checked")) {
		arrChk.each(function() {
			$(this).prop("checked", true);
		});
	} else {
		arrChk.each(function() {
			$(this).prop("checked", false);
		});
	}

}
//商品的選擇按鈕
function check() {
	var arrChk = $("[name=chk]");
	var flag = true;
	arrChk.each(function() {
		if ($(this).prop("checked") == false) {
			flag = false;
		}
	});
	if (flag == true) {
		$("#checkall").prop("checked", true);
	} else {
		$("#checkall").prop("checked", false);
	}
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章