网上找了很久都没有找到,验证单选 radio 中的一个input id=“yes” 是否被选择,于是自己写了个:如下
注释:1.obj为 JQuery对象,$(this)调用此validateIschecked 方法即可,然后传入obj : $("#yes")
//radio ischecked
$.fn.validateIschecked = function(obj){
var flag = obj.attr(‘checked‘);
/*alert(flag);*/
if(flag == "checked"){
/*alert("true");*/
return true;
}else{
/*alert("false");*/
return false;
}
};
下面的例子是我自己写的验证非空,长度校验,和正则表达式校验:
//is empty
$.fn.validateEmpty = function(obj) {
if (obj.val().trim() == "") {
return false;
} else {
return true;
}
};
// 长度校验
$.fn.validateLength = function(obj, n, m) {
var l = obj.val().trim().length;
if (l <= m && l >= n) {
return true;
} else {
return false;
}
};
//common validate reqular expression
function validateRegular(obj1, obj2, language, n, m){
var reg1 = /^[\u4e00-\u9fa5A-Za-z0-9\s{2,}.()]{1,40}$/;
var reg2 = /^[A-Za-z0-9\s{2,}.()]{1,40}$/;
if($(obj1).validateEmpty($(obj1))){
if ($(obj1).validateLength($(obj1), n, m)) {
if (language == "cn") {
/*alert("sss");*/
if ($(obj1).val().match(reg1)) {
/*alert("sss");*/
$(obj2).html("");
} else {
$(obj2).html("can only be chinese a-z A-Z 0-9 . () space !");
}
} else if(language == "en"){
if ($(obj1).val().match(reg2)) {
/*alert("sss");*/
$(obj2).html("");
} else {
$(obj2).html("can only be a-z A-Z 0-9 . () space !");
}
}else{
alert("js input error !");
}
} else {
$(obj2).html(n + "-" + m + " length !");
}
}else{
$(obj2).html("");
}
};
常用Jquery验证:
// 验证车牌号
$.fn.validatePlateNo = function(obj) {
var reg = /^[\u4e00-\u9fa5]{1}[a-zA-Z]{1}[0-9a-zA-Z]{5}$/;
if (obj.val().trim().length == 0 || !obj.val().match(reg)) {
return false;
} else {
return true;
}
};
// 验证身份证号
$.fn.validateIdcardno = function(obj) {
if (checkIDCard(obj.val())) {
return true;
} else {
return false;
}
};
// 只能是汉子
$.fn.validateIdeograph = function(obj) {
var reg = /^[\u4e00-\u9fa5]{2,5}$/;
if (obj.val().trim().length == 0 || !obj.val().match(reg)) {
return false;
} else {
return true;
}
};
// 非法字符校验
$.fn.validateIllegalMark = function(obj) {
var reg = /^[0-9a-zA-Z]+$/;
if (obj.val().match(reg)) {
return true;
} else {
return false;
}
};
// 手机号
$.fn.validateMobile = function(obj) {
var num = obj.val();
var reg = /^((\(\d{3}\))|(\d{3}\-))?13\d{9}|14[57]\d{8}|15\d{9}|18\d{9}$/;
if (num.length != 11 || !num.match(reg)) {
return false;
} else {
return true;
}
};
// 电话号码
$.fn.validateTelephone = function(obj) {
var reg = /^((0\d{2,3})-)(\d{7,8})$/;
if (obj.val().length == 0 || obj.val().match(reg)) {
return true;
} else {
return false;
}
};
// QQ
$.fn.validateQQ = function(obj) {
var reg = /^[0-9]{2,15}$/;
if (obj.val().length == 0 || obj.val().match(reg)) {
return true;
} else {
return false;
}
};
// Email
$.fn.validateMail = function(obj) {
var reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
if (obj.val().length == 0 || obj.val().match(reg)) {
return true;
} else {
return false;
}
};
// 不含特殊字符
$.fn.validateVenderName = function(obj) {
var reg = /^[\u4e00-\u9fa5A-Za-z0-9]{2,40}$/gi;
if (obj.val().match(reg)) {
return true;
} else {
return false;
}
};
获取选中的值
获取一组radio被选中项的值
var item = $(‘input[@name=items][@checked]‘).val();
获取select被选中项的文本
var item = $("select[@name=items] option[@selected]").text();
select下拉框的第二个元素为当前选中值
$(‘#select_id‘)[0].selectedIndex = 1;
radio单选组的第二个元素为当前选中值
$(‘input[@name=items]‘).get(1).checked = true;
$("input[@type=radio][@checked]").val();
获取值:
文本框,文本区域:
$("#txt").attr("value");
$("#txt").val();
多选框checkbox:
$("#checkbox_id").attr("value");
下拉框select:
$(‘#sel‘).val();
控制表单元素:
文本框,文本区域:
$("#txt").attr("value",‘‘);//清空内容
$("#txt").attr("value",‘11‘);//填充内容
多选框checkbox:
$("#chk1").attr("checked",‘‘);//不打勾
$("#chk2").attr("checked",true);//打勾
if($("#chk1").attr(‘checked‘)==undefined) //判断是否已经打勾 checked undefined 这是JQ1.6后出现的
单选组radio:
$("input[@type=radio]").attr("checked",‘2‘);//设置value=2的项目为当前选中项
下拉框select:
$("#sel").attr("value",‘-sel3‘);//设置value=-sel3的项目为当前选中项
$("<optionvalue=‘1‘>1111</option><optionvalue=‘2‘>2222</option>").appendTo("#sel")//添加下拉框的option
$("#sel").empty();//清空下拉框
=====================
在Jquery中,用$("#id")来获得页面的input元素,其相当于document.getElementById("element")但是,该获取的是一个Jquery对象,而不是一个dom element对象.value是dom element对象的属性.所以,使用$("#id").value不能取到值;
取值的方法如下:
取值:
val = $("#id")[0].value;
$("#id")[0].value = "new value";
赋值:
$("#id")[0].value = "new value";
或者$("#id").val("new value");
val = $("#id").attr("value");
jquery input text radio check select 操作
原文地址:http://blog.csdn.net/u012256142/article/details/38416453