当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 28个JS验证函数收集

28个JS验证函数收集

2019年07月19日  | 移动技术网IT编程  | 我要评论
js验证函数的调用方法和注意: 1.给表单设置onsubmit="return test()",配合<input type="submit" name="submit
js验证函数的调用方法和注意:
1.给表单设置onsubmit="return test()",配合<input type="submit" name="submit" value="check"> 进行提交.
2.<input type=text onkeydown="test();"> //当鼠标按下直接调用函数验证
3.<input type=text onblur="testl(this.value)"> //传入自己的值进行验证,test(this)//传入对象本身进行验证
4.<input type="button" value="test" onclick="test()"> //单击btn进行验证,如果通过则用document.forms[0].submit(); 进行表单提交
5.<input onclick="return test();" type="submit" name="submit" value=" 提交信息 ">//使用submit进行提交验证,如果test中return false;则不提交返true提交.
6.<script type="javascript">....function test(){...return false;...}...</script>
7.||与,&&或,!非
8.常用事件:onblur失去焦点,onchange失去焦点并且内容发生改变,onfocus元素获得焦点,onreset当表单中reset的属性被激发时,onsubmit表单被提交时触发此事件
9.验证正则表达式:if(/^[1-9]\d*$/.test(str))返回真则通过,false通不通过
10.document.getelementbyid("ip").value//访问id的值,document.form1.text1.value//通过name访问
11.<input onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('不能为空!')"> //执行单条正则验证例
验证函数:
<input type="text" name="text1" id="text1" onblur="test();" value="" />
1.字符长度限制
function test()
{
if(document.form1.text1.value.length>50)
{
alert("不能超过50个字符!");
document.form1.text1.focus();
return false;
}
}
2.只能是英文,字母或数字
function test()
{
if(!(event.keycode>=65&&event.keycode<=90))
{
alert("只能是英文!");
document.form1.text1.focus();
}
}
<input onblur="if(/[^0-9a-za-z]/g.test(this.value))alert('有错')"> //字母或数字
3.只能是数字
function test()
{
if(!((event.keycode>=48&&event.keycode<=57)||(event.keycode>=96&&event.keycode<=105))) //考虑小键盘上的数字键
{
alert("只能是数字!");
document.form1.text1.focus();
}
}
或者
function test(num)
{
var i,j,strtemp;
strtemp="0123456789";
if ( num.length== 0)
return 0
for (i=0;i<num.length;i++)
{
j=strtemp.indexof(num.charat(i));
if (j==-1)
{
alert("只能是数字!");
return false;
}
}
//说明是数字
return true;
}
5.验证邮箱(正则,函数)
function isemail(stremail) {
if (stremail.search(/^\w+((-\w+)|(\.\w+))*\@[a-za-z0-9]+((\.|-)[a-za-z0-9]+)*\.[a-za-z0-9]+$/) != -1)
return true;
else
alert("格式错误!");
}
function isemail() {
if (document.userinfo.useremail.value.charat(0)=="." ||
document.userinfo.useremail.value.charat(0)=="@"||
document.userinfo.useremail.value.indexof('@', 0) == -1 ||
document.userinfo.useremail.value.indexof('.', 0) == -1 ||
document.userinfo.useremail.value.lastindexof("@")==document.userinfo.useremail.value.length-1 ||
document.userinfo.useremail.value.lastindexof(".")==document.userinfo.useremail.value.length-1)
{
alert("email地址格式不正确!");
document.userinfo.useremail.focus();
return false;
}
}
<input type="text" onblur="isemail(this.value);" name="text1" />
6.屏蔽关键字(这里屏蔽***和****)
function test() {
if((document.form1.text1.value.indexof ("***") == 0)||(document.form1.text1.value.indexof ("****") == 0)){
alert("存在关键字");
document.form1.text1.focus();
return false;
}
}
7.比较两次输入是否相同
if(document.userinfo.userpassword.value != document.userinfo.userpassword1.value) {
document.userinfo.userpassword.focus();
document.userinfo.userpassword.value = '';
document.userinfo.userpassword1.value = '';
alert("两次输入的密码不同,请重新输入!");
return false;
}
8.判断是否为空或空格组成
function test(){
if(checkspace(document.form1.text1.value)) {
document.form1.text1.focus();
alert("为空或包含空格组成!");
return false;
}
}
function checkspace(checkstr) {
var str = '';
for(i = 0; i < checkstr.length; i++) {
str = str + ' ';
}
return (str == checkstr);
}
或者:
<input onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('不能为空!')"> //执行单条正则验证例
9. 验证是否是数字电话,只能是数字和-
正则:\d{3}-\d{8}|\d{4}-\d{7}
function istel(elem) {
var str=elem.value;
var onedecimal=false;
var onechar=0;
str=str.tostring( );
for (var i=0; i<str.length; i++) {
onechar=str.charat(i).charcodeat(0);
if(onechar==45){ continue; }
if(onechar<48 || onechar > 57) {
alert("此项只能输入数字和'-'号.");
return false;
}
}
return true;
}
或者
function fucchecktel(tel)
{
var i,j,strtemp;
strtemp="0123456789-()# ";
for (i=0;i<tel.length;i++)
{
j=strtemp.indexof(tel.charat(i));
if (j==-1)
{
alert("此项只能输入数字和'-'号.");
return false;
}
}
//说明合法
return true;
}
或者
//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
function istel(s)
{
//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}
或者
要求:
  (1)电话号码由数字、"("、")"和"-"构成
  (2)电话号码为3到8位
  (3)如果电话号码中包含有区号,那么区号为三位或四位
  (4)区号用"("、")"或"-"和其他部分隔开
  (5)移动电话号码为11或12位,如果为12位,那么第一位为0
  (6)11位移动电话号码的第一位和第二位为"13"
  (7)12位移动电话号码的第二位和第三位为"13"
  根据这几条规则,可以与出以下正则表达式:
  (^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)
function phonecheck(s) {
var str=s;
var reg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/
alert(reg.test(str));
}
<input type="text" name="text1" onblur="istel(this);" />
10.//当opt2为1时检查num是否是负数//当opt1为1时检查num是否是小数//返回1是正确的,0是错误的
function chknbr(num,opt1,opt2)
{
var i=num.length;
var staus;
//staus用于记录.的个数
status=0;
if ((opt2!=1) && (num.charat(0)=='-'))
{
alert("you have enter a invalid number.");
return 0;
}
//当最后一位为.时出错
if (num.charat(i-1)=='.')
{
alert("you have enter a invalid number.");
return 0;
}
for (j=0;j<i;j++)
{
if (num.charat(j)=='.')
{
status++;
}
if (status>1)
{
alert("you have enter a invalid number.");
return 0;
}
if (num.charat(j)<'0' || num.charat(j)>'9' )
{
if (((opt1==0) || (num.charat(j)!='.')) && (j!=0))
{
alert("you have enter a invalid number.");
return 0;
}
}
}
return 1;
}
11.检查是否数字或字母组成的串
function test(str)
{
var strsource ="0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
var ch;
var i;
var temp;
for (i=0;i<=(str.length-1);i++)
{
ch = str.charat(i);
temp = strsource.indexof(ch);
if (temp==-1)
{
alert("格式不正确!");
return false;
}
}
if (strsource.indexof(ch)==-1)
{
alert("格式不正确!");
return false;
}
else
{
return true;
}
}
12.数字验证
正整数验证^[1-9]\d*$,负整数验证^-[1-9]\d*$ ,整数^-?[1-9]\d*$,非负整数^[1-9]\d*|0$,非正正数^-[1-9]\d*|0$,浮点数^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
function test(str){
if(/^[1-9]\d*$/.test(str))
{
alert("格式不能!");
return false;
}
else
{
return true;
}
}
13.身份证
正则:\d{15}|\d{18}
14.ip地址
正则:\d+\.\d+\.\d+\.\d+
15.邮政编码
正则:[1-9]\d{5}(?!\d)
function ispostalcode(s)
{
//var patrn=/^[a-za-z0-9]{3,12}$/;
var patrn=/^[a-za-z0-9 ]{3,12}$/;
if (!patrn.exec(s)) return false
return true
}
16.qq号
正则:[1-9][0-9]{4,}
17.html标记
正则:\d{3}-\d{8}|\d{4}-\d{7}
18.是否有效的颜色值
function iscolor(color){
var temp=color;
if (temp=="") return true;
if (temp.length!=7) return false;
return (temp.search(/\\#[a-fa-f0-9]{6}/) != -1);
}
19.是否有效的链接
function isurl(url){
var stemp;
var b=true;
stemp=url.substring(0,7);
stemp=stemp.touppercase();
if ((stemp!="http://")||(url.length<10)){
b=false;
}
return b;
}
20.是否有效的手机号码
function ismobile(_str){
var tmp_str = trim(_str);
var pattern = /13\\d{9}/;
return pattern.test(tmp_str);
}
或者
//校验手机号码:必须以数字开头,除数字外,可含有“-”
function ismobile(s)
{
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}
21.ip地址和身份证号验证(正则)
function checkip()
{
obj=document.getelementbyid("ip").value
//ip地址
//var exp=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
//身份证
//var exp=/\b(((?!\d\d\d)\d+|1\d\d|2[0-4]\d|25[0-5])(\b|\.)){4}/
//var exp=/^(\d{15}|\d{17}[x0-9])/
//var exp=/^([\d]{15}|[\d]{18}|[\d]{17}[x|x])$/
var reg = obj.match(exp);
if(reg==null)
{
alert("ip地址不合法!");
}
else
{
alert("ip地址合法!");
}
}
22.校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
function isregisterusername(s)
{
var patrn=/^[a-za-z]{1}([a-za-z0-9]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}
23.校验用户姓名:只能输入1-30个以字母开头的字串
function istruename(s)
{
var patrn=/^[a-za-z]{1,30}$/;
if (!patrn.exec(s)) return false
return true
}
24.校验密码:只能输入6-20个字母、数字、下划线
function ispasswd(s)
{
var patrn=/^(\w){6,20}$/;
if (!patrn.exec(s)) return false
return true
}
25.日期时间类
短时间,形如 (13:04:06)
function istime(str)
{
var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
if (a == null) {alert('输入的参数不是时间格式'); return false;}
if (a[1]>24 || a[3]>60 || a[4]>60)
{
alert("时间格式不对");
return false
}
return true;
}
短日期,形如 (2003-12-05)
function strdatetime(str)
{
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)return false;
var d= new date(r[1], r[3]-1, r[4]);
return (d.getfullyear()==r[1]&&(d.getmonth()+1)==r[3]&&d.getdate()==r[4]);
}
长时间,形如 (2003-12-05 13:04:06)
function strdatetime(str)
{
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
var d= new date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
return (d.getfullyear()==r[1]&&(d.getmonth()+1)==r[3]&&d.getdate()==r[4]&&d.gethours()==r[5]&&d.getminutes()==r[6]&&d.getseconds()==r[7]);
}
26.判断字符全部由a-z或者是a-z的字字母组成
<input onblur="if(/[^a-za-z]/g.test(this.value))alert('有错')">
27.判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母
<input onblur="if(/^([a-za-z_]{1})([\w]*)$/g.test(this.value))alert('有错')">
28.表单的值不能为空,不能超过imax字符,不能少于imix字符,输入为中文判断
function isnull(elem){
//var pattern=/^\s+|\s+$/;
if(elem.replace(/(^\s+|\s$)/g, "")==""){
return false;
}else{
return true;
}
}
function imax(elem){
if(elem.length>imax){
return false;
}else{
return true;
}
}
function imix(elem){
if(elem.lengthreturn false;
}else{
return true;
}
}
function ischinese(elem){
var pattern=/[^\x00-\xff]/g;
if(pattern.test(elem)){
//包含中文
return false;
}else{
//不包含中文
return true;
}
}

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网