web前端 --- input各种操作

Input框不能为空

required="required"

将这个写到input标签中就为空时那么就会出现红框。

 

input不可编辑不可传值

disabled 

不可编辑可传值

readonly 

可选择,可以接收焦点,还可以选中或拷贝其文本。后台会接收到传值

unselectable="on"

 

Input文件多选属性

multiple="multiple"

全选问题,input为循环出来的

<script type="text/javascript">
    var inpu = $('input[type=checkbox]');
    console.log(inpu);
    function invert() {
        //反选函数
        for (var i = 0; i < inpu.length; i++) {
            if (inpu[i].checked == false) {
                inpu[i].checked = true;
            } else {
                inpu[i].checked = false;
            }
        }
    }

    //全选函数
    function check() {
        for (var i = 0; i < inpu.length; i++) {
            inpu[i].checked = true;
        }
    }

    //全不选函数
    function uncheck() {
        for (var i = 0; i < inpu.length; i++) {
            inpu[i].checked = false;
        }
    }
</script>

 

 

Input框只能为数字

如果输入文字敲回车,会直接输入字母

onkeyup = "value=value.replace(/[^\d]/g,'')"

使用 onkeyup 事件,有 bug ,那就是在中文输入法状态下,输入汉字之后直

 

onchange = "value=value.replace(/[^\d]/g,'')"

使用 onchange 事件,在输入内容后,只有 input 丧失焦点时才会得到结果,并不能在输入时就做出响应

 

oninput = "value=value.replace(/[^\d]/g,'')"

使用 oninput 事件,完美的解决了以上两种问题,测试暂时还没有出现其它问题。

当你输入文字的时候那么就为空输不进去他就要结合

placeholder="请输入纯数字"

他俩要一起用

 

type="number"

用input类型,只能输入数字。

 

input只能输入文字

<input type="text" placeholder="请输入姓名" onkeyup="this.value=this.value.replace(/[^\u4e00-\u9fa5]/g,'')">

 

 

input的提示

1.提示当点击input框的时候提示消失然后当刷新页面就会重新出来

value="请输入备注消息" οnfοcus="javascript:if(this.value=='请输入备注消息')this.value='';"

2.提示信息当你input框为空时就会有提示输入信息是就会消失,输入在清空还会存在。

placeholder="项目名称"

 

input当点击那个input框时那个input后面跟一个提示

<style>

input+span {display:none}

input:focus+span {display:inline}

</style>

<p>证件号码:<input type="text" name="zjhm" value=""/><span>请输入证件号码</span></p>

<p>手机号:<input type="text" name="sjh" value=""/><span>请输入手机号</span></p>

<p>电子邮箱:<input type="text" name="dzyx" value=""/><span>请输入电子邮箱</span></p>

 

Inpu手机号验证

回车提交触发事件

<script>

function checkMobile(){

    var sMobile = document.mobile.value

    if(!(/^1[3|5|7|8][0-9]\d{4,8}$/.test(sMobile))){

        alert("不是完整的11位手机号或者正确的手机号前七位");

        document.mobileform.mobile.focus();

        return false;

    }

}

</script>

<form action="#" name="mobileform" method="post" onSubmit="checkMobile();">

<input name="mobile" size="40" maxLength="11" />

<input type=submit value="查 询">

</form>

 

离开input判断手机号

<input type="number" autocomplete="off" placeholder="请输入手机号" name="name"  id="phone" onblur="upperCase()">

<script>

function upperCase(){

        var phone = document.getElementById('phone').value;

        if(!(/^1[34578]\d{9}$/.test(phone))){

            alert("手机号码有误,请重填"); 

            return false;

        }

       }

</script>

 

function checkPhone(){ 
	    var phone = document.getElementById('phone').value;
	    if(!(/^1[3456789]\d{9}$/.test(phone))){ 
	        alert("手机号码有误,请重填");  
	    }else{
			console.log("手机号正确");
		}
	}

 

 

 

Input框内只能为汉字

<input type="text" onchange="javascript:if(!/^[\u4e00-\u9fa5]+$/gi.test(this.value))alert('含有非汉字字符');">

 

Input框验证邮箱

<form action="">

  输入:<input type="text" name="mazey" id="mazey" placeholder="请输入邮箱" onblur="check()"><span id="verification">填写邮箱</span>

  <input type="button" value="验证" >

</form>


<script>
    function check() {
        var reg = /^\w+((.\w+)|(-\w+))@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+).[A-Za-z0-9]+$/; //正则表达式
        var verification = document.getElementById("verification");
        var mailbox = document.getElementById("mailbox"); //要验证的对象
         if(!reg.test(mailbox.value)) { //正则验证不通过,格式不对
            verification.innerHTML = "请填写正确的邮箱";
            return false;
        } else {
            verification.innerHTML = "?";
            return true;
        }
    }
</script>

 

身份证号验证

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="http://jq.likeball.top/jq.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<input type="text" id="userid" placeholder="请输入身份证号" onblur="vsCard()" />

	</body>
</html>
<script type="text/javascript">
	function vsCard() {
		//15位或者18位身份证号码的正则表达式
		var regIdCard =
			/^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/;
		var idCard = $("#userid").val();
		console.log(idCard);
		//如果通过该验证,说明身份证格式正确,但准确性还需计算
		if (regIdCard.test(idCard)) {
			if (idCard.length == 18) {
				var idCardWi = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); //将前17位加权因子保存在数组里
				var idCardY = new Array(1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2); //这是除以11后,可能产生的11位余数、验证码,也保存成数组
				var idCardWiSum = 0; //用来保存前17位各自乖以加权因子后的总和
				for (var i = 0; i < 17; i++) {
					idCardWiSum += idCard.substring(i, i + 1) * idCardWi[i];
				}

				var idCardMod = idCardWiSum % 11; //计算出校验码所在数组的位置
				var idCardLast = idCard.substring(17); //得到最后一位身份证号码

				//如果等于2,则说明校验码是10,身份证号码最后一位应该是X
				if (idCardMod == 2) {
					if (idCardLast == "X" || idCardLast == "x") {
						alert("恭喜通过验证啦!");
					} else {
						alert("身份证号码错误!");
					}
				} else {
					//用计算出的验证码与最后一位身份证号码匹配,如果一致,说明通过,否则是无效的身份证号码
					if (idCardLast == idCardY[idCardMod]) {
						alert("恭喜通过验证啦!");
					} else {
						alert("身份证号码错误!");
					}
				}
			}
		} else {
			alert("身份证格式不正确!");
		}
	}
</script>

 

 

简单 的验证身份证号

转载https://blog.csdn.net/genius_yym/article/details/79670159?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

JS 正则表达式 验证中国大陆身份证号码 
/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/
 

// 正则表达式:
var idcardReg = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;

var cardNo = 336767199903037878

if(idcardReg.test(cardNo)) {
    // 合法
}

 

// 身份证号: values
const province = values.substring(0, 2) //省
const city = values.substring(0, 4) //市
const area = values.substring(0, 6) //区
const sex = values.substring(16, 17) //性别

 

总结一个好的input

验证手机号

<form action="">

        <input type="" oninput = "value=value.replace(/[^\d]/g,'')" value="请输入手机号" onfocus="javascript:if(this.value=='请输入手机号')this.value='';" name="name"  id="phone" onblur="upperCase()"/>

</form>


<script>

function upperCase(){

        var phone = document.getElementById('phone').value;

        if(!(/^1[34578]\d{9}$/.test(phone))){

            alert("手机号码有误,请重填"); 

            return false;

        }

       }

</script>

验证手机号

<form action="">

        <input type="" oninput = "value=value.replace(/[^\d]/g,'')" placeholder="请输入手机号" name="name"  id="phone" onblur="upperCase()"/>

</form>


<script>

       function upperCase(){

        var phone = document.getElementById('phone').value;

        if(!(/^1[34578]\d{9}$/.test(phone))){

            alert("手机号码有误,请重填"); 

            return false;

        }

       }

</script>

Input回车不可提交

<form action="#" method="post" onkeydown="if(event.keyCode==13){return false;}" >
            <input type="text" name="" id="" value="" />
            <input type="text" name="" id="" value="" />
            <button type="submit">提交</button>

  </form>

这里注意我们只能为button按钮才可以,用input属性type为submit是不可以的。。

 

 

错误时不可提交

https://blog.csdn.net/q3254421/article/details/83154247

<div id="dom"></div>
        <form>
            <input type="text" name="name" id="name" value="" /><br />
            <input type="text" name="pass" id="pass" value="" /><br />
            <input type="submit" value="提交" onclick="return tj()"/>
            <!--/*
             * 提交,将我们的函数值在进行返回给我们的框
             * 由于我们的tj()函数我们下面已经获取过来值了。
             */-->
        </form>
        <script type="text/javascript">
            function tj() {
                var sc = document.getElementById("name").value;
                /*
                 * alert(sc.length);
                 * 测试传过来的值的长度是多长,进行弹框测试
                 * 我们弹框过之后我们在判断长度如果长度小于6不可提交。
                 * 否则弹出成功过
                 */
                if(sc.length<6){
                    return false;
                }else{
                    alert("成功");
                }
                /* return,我们的表单还可以进行提交。
                 * return true 我们的表单也可以提交。
                 * 这里我们的return和return true的用法一样。
                 * return false 我们的表单就不可以进行提交了。
                 */
            }
        </script>


<input type="text" name="name" id="tagValue1" display='none'; >

<input type="submit" value="提交"/>

</form>

input的几种类型

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>input框的类型</title>
	</head>
	<body>
		input文字类型:<input type="text" name="" id="" placeholder="文字类型" /><br /><br>
		input密码类型:<input type="password" name="" id="" placeholder="密码类型" /><br /><br>
		input数字类型:<input type="number" name="" id="" placeholder="数字类型" /><br /><br>
		input按钮类型:<input type="button" name="" id="" placeholder="按钮类型" value="按钮类型" /><br /><br>
		input重选类型:<input type="reset" name="" id="" placeholder="重选类型" /><br /><br>
		input提交类型:<input type="submit" name="" id="" placeholder="提交类型" /><br /><br>
		input隐藏类型:<input type="hidden" name="" id="" placeholder="隐藏类型" /><br /><br>
		input单选框类型1:<input type="radio" name="radio" id="" placeholder="单选框类型1" /><br /><br>
		input单选框类型2:<input type="radio" name="radio" id="" placeholder="单选框类型2" /><br /><br>
		input单选框类型3:<input type="radio" name="radio" id="" placeholder="单选框类型3" /><br /><br>
		input复选框类型1:<input type="checkbox" name="" id="" placeholder="复选框类型1" /><br /><br>
		input复选框类型2:<input type="checkbox" name="" id="" placeholder="复选框类型2" /><br /><br>
		input复选框类型3:<input type="checkbox" name="" id="" placeholder="复选框类型3" /><br /><br>
		input复选框类型4:<input type="checkbox" name="" id="" placeholder="复选框类型4" /><br /><br>
		input文件类型:<input type="file" name="" id="" placeholder="文件类型" /><br /><br>
		input图片类型:<input type="image" src="img/13.jpg" name="" id="" value="" placeholder="图片类型" /><br /><br>
		input颜色类型:<input type="color" name="" id="" placeholder="颜色类型" /><br /><br>
		input进度类型:<input type="range" name="" id="" placeholder="进度类型" /><br /><br>
		input日期类型:<input type="date" name="" id="" placeholder="日期类型" /><br /><br>
		input月份类型:<input type="month" name="" id="" placeholder="月份类型" /><br /><br>
		input星期类型:<input type="week" name="" id="" placeholder="星期类型" /><br /><br>
		input时间类型:<input type="time" name="" id="" placeholder="时间类型" /><br /><br>
		input获取本地时间类型:<input type="datetime-local" name="" id="" placeholder="获取本地时间类型" /><br /><br>
		input电话类型:<input type="tel" name="" id="" placeholder="电话类型" /><br /><br>
		input邮箱类型:<input type="email" name="" id="" placeholder="邮箱类型" /><br /><br>
		input链接类型:<input type="url" name="" id="" placeholder="链接类型" /><br /><br>
		input时间类型:<input type="datetime" name="" id="" placeholder="时间类型" /><br /><br>
		input搜索类型:<input type="search" name="" id="" placeholder="搜索类型" /><br /><br>
	</body>
</html>

js将按钮禁止点击

document.getElementById("reducenumber").disabled=true;

可点击

document.getElementById("bt1").disabled=false;
发布了105 篇原创文章 · 获赞 17 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_44944193/article/details/94600868