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的横向滚动条(滑动条)
Feb 24 Javascript
在JavaScript里嵌入大量字符串常量的实现方法
Jul 07 Javascript
jquery.qrcode在线生成二维码使用示例
Aug 21 Javascript
Jquery遍历节点的方法小集
Jan 22 Javascript
js鼠标点击图片切换效果代码分享
Aug 26 Javascript
详解Vue微信公众号开发踩坑全记录
Aug 21 Javascript
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
Dec 24 jQuery
layui点击按钮页面会自动刷新的解决方案
Oct 25 Javascript
vue中 v-for循环的用法详解
Feb 19 Javascript
Vue中computed及watch区别实例解析
Aug 01 Javascript
vue-cli脚手架的.babelrc文件用法说明
Sep 11 Javascript
Vue router配置与使用分析讲解
Dec 24 Vue.js
用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初学者写及时补给skype用户充话费的小程序
2008/11/02 PHP
Yii2框架自定义类统一处理url操作示例
2019/05/25 PHP
Laravel5.5 实现后台管理登录的方法(自定义用户表登录)
2019/09/30 PHP
基于Jquery的仿Windows Aero弹出窗(漂亮的关闭按钮)
2010/09/28 Javascript
改写一个简单的菜单 弹性大小
2010/12/02 Javascript
jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能
2013/04/08 Javascript
jQuery如何取id有.的值一般的方法是取不到的
2014/04/18 Javascript
JavaScript操作HTML元素和样式的方法详解
2015/10/21 Javascript
jQuery随手笔记之常用的jQuery操作DOM事件
2015/11/29 Javascript
AngularJS入门教程之路由与多视图详解
2016/08/19 Javascript
Angular1.x复杂指令实例详解
2017/03/01 Javascript
jQuery实现页面倒计时并刷新效果
2017/03/13 Javascript
JS实现的四级密码强度检测功能示例
2017/05/11 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
2017/08/17 Javascript
angular2路由切换改变页面title的示例代码
2017/08/23 Javascript
javascript实现电脑和手机版样式切换
2017/11/10 Javascript
vue技术分享之你可能不知道的7个秘密
2018/04/09 Javascript
layui form表单提交后实现自动刷新
2019/10/25 Javascript
python类的继承实例详解
2017/03/30 Python
python数据结构之链表的实例讲解
2017/07/25 Python
对numpy中的数组条件筛选功能详解
2018/07/02 Python
python中Lambda表达式详解
2019/11/20 Python
PyTorch里面的torch.nn.Parameter()详解
2020/01/03 Python
python3 Scrapy爬虫框架ip代理配置的方法
2020/01/17 Python
Python Excel vlookup函数实现过程解析
2020/06/22 Python
关于python3.9安装wordcloud出错的问题及解决办法
2020/11/02 Python
python程序实现BTC(比特币)挖矿的完整代码
2021/01/20 Python
解决pytorch 模型复制的一些问题
2021/03/03 Python
基于HTML5超酷摄像头(HTML5 webcam)拍照功能实现代码
2012/12/13 HTML / CSS
《少年王冕》教学反思
2014/04/11 职场文书
中班教师个人总结
2015/02/05 职场文书
2016年中秋祝酒词
2015/11/26 职场文书
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
2021/03/30 HTML / CSS
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
2021/04/12 Python
唤醒紫霞仙子,携手再游三界!大话手游X《大话西游》电影合作专属剧情任务
2022/04/03 其他游戏
Python批量解压&压缩文件夹的示例代码
2022/04/04 Python