JS表单验证-12个常用的JS表单验证
最近有个项目用到了表单验证,小编在项目完结后的这段时间把常用的JS表单验证demo整理了一下,和大家一起分享~~~
1. 长度限制
<p>1. 长度限制</p>
<form name=a onsubmit="return test()">
<textarea name="b" cols="40" rows="6" placeholder="不能超过50个字符!"></textarea><br />
<input type="submit" name="Submit" value="check">
</form>
<script language="javascript">
function test() {
if(document.a.b.value.length>50){
alert("不能超过50个字符!");
document.a.b.focus();
return false;
}
}
</script>2. 只能是汉字
<p>2. 只能是汉字 </p>
<input type="text" onblur="isChinese(this.value)" placeholder="请输入中文!" />
<script language="javascript">
function isChinese(obj){
var reg=/^[\u0391-\uFFE5]+$/;
if(obj!=""&&!reg.test(obj)){
alert('必须输入中文!');
return false;
}
}
</script>以下demo中的HTML的结构与验证中文结构相似的,小编就只写js啦~~~
3. 只能是英文字母
<script type="text/javascript">
//验证只能是字母
function checkZm(zm){
var zmReg=/^[a-zA-Z]*$/;
if(zm!=""&&!zmReg.test(zm)){
alert("只能是英文字母!");
return false;
}
}
</script>4. 只能是数字
<script language=javascript>
//验证只能为数字
function checkNumber(obj){
var reg = /^[0-9]+$/;
if(obj!=""&&!reg.test(obj)){
alert('只能输入数字!');
return false;
}
}
</script>5. 只能是英文字母和数字
<script type="text/javascript">//验证只能是字母和数字
function checkZmOrNum(zmnum){
var zmnumReg=/^[0-9a-zA-Z]*$/;
if(zmnum!=""&&!zmnumReg.test(zmnum)){
alert("只能输入是字母或者数字,请重新输入");
return false;
}
}
</script>6. 检验时间大小(与当前时间比较)
<script type="text/javascript">//检验时间大小(与当前时间比较)
function checkDate(obj){
var obj_value=obj.replace(/-/g,"/");
//替换字符,变成标准格式(检验格式为:'2009-12-10')
// var obj_value=obj.replace("-","/");
//替换字符,变成标准格式(检验格式为:'2010-12-10 11:12')
var date1=new Date(Date.parse(obj_value));
var date2=new Date();//取今天的日期
if(date1>date2){
alert("不能大于当前时间!");
return false;
}
}
</script>7. 屏蔽关键字(这里屏蔽***和****)
<script type="text/javascript">
function test(obj) {
if((obj.indexOf ("***") == 0)||(obj.indexOf ("****") == 0)){
alert("屏蔽关键字(这里屏蔽***和****)!");
return false;
}
}
</script>8. 两次输入密码是否相同
<script type="text/javascript">
function check(){
with(document.all){
if(input1.value!=input2.value) {
alert("密码不一致")
input1.value = "";
input2.value = "";
}
else {
alert("密码一致");
document.forms[0].submit();
}
}
}
</script>9. 表单项不能为空
<script language="javascript">
function CheckForm(obj) {
if (obj.length == 0) {
alert("姓名不能为空!");
return false;
}
return true;
alert("姓名不能为空!");
}
</script>10. 邮箱验证
<script language="javascript">
function test(obj){//对电子邮件的验证
var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
if(!myreg.test(obj)){
alert('请输入有效的邮箱!');
return false;
}
}
</script>11. 验证手机号
<script type="text/javascript">
function validatemobile(mobile) {
if(mobile.length==0) {
alert('手机号码不能为空!');
return false;
}
if(mobile.length!=11){
alert('请输入有效的手机号码,需是11位!');
return false;
}
var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
if(!myreg.test(mobile)){
alert('请输入有效的手机号码!');
return false;
}
}
</script>12. 验证身份证号码(需是有效身份证)
<script type="text/javascript">// 构造函数,变量为15位或者18位的身份证号码
function clsIDCard(CardNo) {
this.Valid=false;this.ID15='';
this.ID18='';
this.Local='';
if(CardNo!=null)this.SetCardNo(CardNo);
}
// 设置身份证号码,15位或者18位
clsIDCard.prototype.SetCardNo = function(CardNo) {
this.ID15='';
this.ID18='';
this.Local='';
CardNo=CardNo.replace(" ","");
var strCardNo;
if(CardNo.length==18) {
pattern= /^\d{17}(\d|x|X)$/;
if (pattern.exec(CardNo)==null)return;
strCardNo=CardNo.toUpperCase();
}
else {
pattern= /^\d{15}$/;
if (pattern.exec(CardNo)==null)return;
strCardNo=CardNo.substr(0,6)+'19'+CardNo.substr(6,9)strCardNo+=this.GetVCode(strCardNo);
}this.Valid=this.CheckValid(strCardNo);
}
// 校验身份证有效性