28个JS验证函数收集


Posted in Javascript onMarch 02, 2010

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;
}
}

Javascript 相关文章推荐
jquery提升性能最佳实践小结
Dec 06 Javascript
jquery仿京东导航/仿淘宝商城左侧分类导航下拉菜单效果
Apr 24 Javascript
javascript setinterval 的正确语法如何书写
Jun 17 Javascript
在JavaScript中使用NaN值的方法
Jun 05 Javascript
跟我学习javascript的隐式强制转换
Nov 16 Javascript
AngularJS中实现用户访问的身份认证和表单验证功能
Apr 21 Javascript
JavaScript遍历Json串浏览器输出的结果不统一问题
Nov 03 Javascript
自己封装的一个简单的倒计时功能实例
Nov 23 Javascript
JavaScript如何实现图片懒加载(lazyload) 提高用户体验(增强版)
Nov 30 Javascript
Angularjs单选框相关的示例代码
Aug 17 Javascript
利用Vue实现移动端图片轮播组件的方法实例
Aug 23 Javascript
vue mixins组件复用的几种方式(小结)
Sep 06 Javascript
用js脚本控制asp.net下treeview的NodeCheck的实现代码
Mar 02 #Javascript
javascript 静态对象和构造函数的使用和公私问题
Mar 02 #Javascript
新老版本juqery获取radio对象的方法
Mar 01 #Javascript
几个比较经典常用的jQuery小技巧
Mar 01 #Javascript
基于JQuery的密码强度验证代码
Mar 01 #Javascript
Jquery下的26个实用小技巧(jQuery tips, tricks &amp; solutions)
Mar 01 #Javascript
基于jquery.Jcrop的头像编辑器
Mar 01 #Javascript
You might like
php自定义函数之递归删除文件及目录
2010/08/08 PHP
php foreach循环中使用引用的问题
2013/11/06 PHP
PHP基于单例模式实现的mysql类
2016/01/09 PHP
PHP的mysqli_stmt_init()函数讲解
2019/01/24 PHP
laravel-admin 后台表格筛选设置默认的查询日期方法
2019/10/03 PHP
JS保存和删除cookie操作 判断cookie是否存在
2013/11/13 Javascript
JavaScript基本的输出和嵌入式写法教程
2015/10/20 Javascript
第十篇BootStrap轮播插件使用详解
2016/06/21 Javascript
借助node实战JSONP跨域实例
2017/03/30 Javascript
微信小程序 本地数据读取实例
2017/04/27 Javascript
Vue的移动端多图上传插件vue-easy-uploader的示例代码
2017/11/27 Javascript
vue 动态绑定背景图片的方法
2018/08/10 Javascript
vue实现微信分享功能
2018/11/28 Javascript
layui中select,radio设置不生效的解决方法
2019/09/05 Javascript
JavaScript实现单图片上传并预览功能
2019/09/30 Javascript
ZK中使用JS读取客户端txt文件内容问题
2019/11/07 Javascript
[02:14]完美“圣”典2016风云人物:xiao8专访
2016/12/01 DOTA
[04:54]DOTA2 2017国际邀请赛:上届冠军WINGS采访短片
2017/08/09 DOTA
[01:09:13]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第三场 1月19日
2021/03/11 DOTA
[01:08:43]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第一场 1月9日
2021/03/11 DOTA
Python中scatter函数参数及用法详解
2017/11/08 Python
在Python中定义一个常量的方法
2018/11/10 Python
python selenium循环登陆网站的实现
2019/11/04 Python
Django密码存储策略分析
2020/01/09 Python
使用python-Jenkins批量创建及修改jobs操作
2020/05/12 Python
如何真正的了解python装饰器
2020/08/14 Python
如何使用python自带IDLE的几种方法
2020/10/10 Python
通过HTML5 Canvas API绘制弧线和圆形的教程
2016/03/14 HTML / CSS
html5 canvas绘制网络字体的常用方法
2019/08/26 HTML / CSS
女士时装鞋:Chinese Laundry
2018/08/29 全球购物
应聘美工求职信
2013/11/07 职场文书
法律进机关实施方案
2014/03/12 职场文书
预防艾滋病宣传标语
2014/06/25 职场文书
2015年学校办公室工作总结
2015/05/26 职场文书
领导莅临指导欢迎词
2015/09/30 职场文书
Kubernetes部署实例并配置Deployment、网络映射、副本集
2022/04/01 Servers