网上找了很久都没有找到,验证单选 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 操作
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>无标题文档</title>
- <mce:script src="jquery-starterkit/lib/jquery-1.3.2.min.js" mce_src="jquery-starterkit/lib/jquery-1.3.2.min.js" type="text/javascript"></mce:script>
- </head>
- <body>
- <input type="text" id="dd" name="dd" value="dds"/>dd
- <input name="rr" id="rr" type="radio" value="34" />ff
- <input name="rr" id="rr2" type="radio" value="4" />55
- <input name="ff" type="checkbox" value="aa" />jgdg
- <input name="ff" type="checkbox" value="gd" />jgdg
- <select name="ss" id="ss" size="1">
- <option value=""></option>
- <option value="8">d</option>
- <option value="2">g</option>
- </select>
- <br/>
- <input type="button" id="button" value="按钮一" />
- <input type="button" id="jj" value="按钮二" />
- <br/>
- <div id="ssd">fgfooHello</div>
- </body>
- <mce:script language="javascript" type="text/javascript"><!--
- $(function(){
- $("#button").click(function(){
- //获取值
- //alert( $('#dd').val());//type=text
- // alert($('input[name=rr][checked]').val());//type=radio
- // alert($('input[name=ff][checked]').val());//type=checkbox
- // alert($("select[name=ss] option[selected]").val());//select 相等于alert($("#ss option[selected]").val());
- //获取文本
- //alert($("select[name=ss] option[selected]").text());//select
- //控制
- /*// Disable #dd 禁用
- $("#dd").attr("disabled","disabled");
- // Enable #dd 解禁
- $("#jj").removeAttr("disabled");*/
- // $('input[name=rr]').get(0).checked = true;//第一个radio被选中
- //alert($("input[type=radio][value=34]").attr("checked",'checked'));//value=34的radio被选中
- //alert($("input[type=checkbox][value=gd]").attr("checked",'checked'));//value=gd的checkbox被选中
- //$('input[name=ff]').get(1).checked = true;//第一个check被选中
- /*//根据option的text选中option
- count=$("#ss").find("option").length;
- for(var i=0;i<count;i++)
- {
- if($("#ss").get(0).options[i].text == 'd')
- {
- $("#ss").get(0).options[i].selected = true;
- break;
- }
- } */
- //$("<option value='1'>1111</option><option value='25'>22s22</option>").appendTo("#ss");//增加option
- //$("#ss option[value=8]").remove("");//除去 <option value='8'>d</option>
- //$("#ss").attr("value",'2');//选中option
- //$('#ss')[0].selectedIndex = 1;//选中option
- //$("#ss").empty();//清空全部option
- /*//替换文本
- var $thirdLink = $("#ssd");
- var linkText = $thirdLink.text().replace('foo','bar');
- $thirdLink.text(linkText); */
- });
- });
- // --></mce:script>
- </html>