/**
* 描述:简单的验证,可以继续扩展
*/
var utils = {
/*
* 版本号,没有什么作用
*/
Version : '0.0.1',
/*
* 用途:检查输入字符串是否只由英文字母和数字和下划线组成 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
*/
isNumberOr_Letter : function(s) {// 判断是否是数字或字母
var regu = "^[0-9a-zA-Z\_]+$";
var re = new RegExp(regu);
if (re.test(s)) {
return true;
} else {
return false;
}
},
/*
* 用途:检查输入对象的值是否符合E-Mail格式 输入:str 输入的字符串 返回:如果通过验证返回true,否则返回false
*/
isEmail : function(str) {
var myReg = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;
if (myReg.test(str))
return true;
return false;
},
/*
* 用途:检查输入手机号码是否正确 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
*/
checkMobile : function(s) {
var regu = /^[1][0-9][0-9]{9}$/;
var re = new RegExp(regu);
if (re.test(s)) {
return true;
} else {
return false;
}
},
/*
* 用途:检查输入字符串是否是数字 输入: str:字符串 返回: 如果通过验证返回true,否则返回false
*/
isNumber : function(str) {
var reg = /^\d+$/;
if (reg.test(str))
return true;
else
return false;
},
/*
* 用途:检查输入字符串是否符合时间格式(时:分:秒),格式:00:02:04 输入: time:字符串 返回: 如果通过验证返回true,否则返回false
*/
isTime : function(time) {
var regex = /^[0-2]{1}[0-9]{1}:[0-5]{1}[0-9]{1}:[0-5]{1}[0-9]{1}$/;
if (!regex.test(time)) {
return false;
}
var hour = time.substring(0, 2);
var minute = time.substring(3, 5);
var second = time.substring(6);
if (hour > 23 || hour < 0) {
return false;
}
if (minute > 60 || minute < 0) {
return false;
}
if (second > 60 || second < 0) {
return false;
}
return true;
},
/*
* 用途:检查输入字符串是否符合正整数格式 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
*/
isNumber : function(s) {
var regu = "^[0-9]+$";
var re = new RegExp(regu);
if (s.search(re) != -1) {
return true;
} else {
return false;
}
},
/*
* 用途:检查输入字符串是否符合国内固话或者传真格式 输入: s:字符串 格式例如:020-87110252 返回:
* 如果通过验证返回true,否则返回false
*/
isTel : function(s) {
var reg = /^((0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;
if (!reg.test(s))
return false
return true
},
/*
* 用途:检查输入字符串是否符合身份证格式 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
*/
isIDno : function(strIDno) {
var aCity = {
11 : "北京",
12 : "天津",
13 : "河北",
14 : "山西",
15 : "内蒙古",
21 : "辽宁",
22 : "吉林",
23 : "黑龙江",
31 : "上海",
32 : "江苏",
33 : "浙江",
34 : "安徽",
35 : "福建",
36 : "江西",
37 : "山东",
41 : "河南",
42 : "湖北",
43 : "湖南",
44 : "广东",
45 : "广西",
46 : "海南",
50 : "重庆",
51 : "四川",
52 : "贵州",
53 : "云南",
54 : "西藏",
61 : "陕西",
62 : "甘肃",
63 : "青海",
64 : "宁夏",
65 : "新疆",
71 : "台湾",
81 : "香港",
82 : "澳门",
91 : "国外"
};
var iSum = 0;
var info = "";
// var strIDno = obj.value;
var idCardLength = strIDno.length;
if (!/^\d{17}(\d|x)$/i.test(strIDno) && !/^\d{15}$/i.test(strIDno)) {
// alert("非法身份证号");
return false;
}
// 在后面的运算中x相当于数字10,所以转换成a
strIDno = strIDno.replace(/x$/i, "a");
if (aCity[parseInt(strIDno.substr(0, 2))] == null) {
// alert("非法地区");
return false;
}
if (idCardLength == 18) {
sBirthday = strIDno.substr(6, 4) + "-"
+ Number(strIDno.substr(10, 2)) + "-"
+ Number(strIDno.substr(12, 2));
var d = new Date(sBirthday.replace(/-/g, "/"))
if (sBirthday != (d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d
.getDate())) {
// alert("非法生日");
return false;
}
for ( var i = 17; i >= 0; i--)
iSum += (Math.pow(2, i) % 11)
* parseInt(strIDno.charAt(17 - i), 11);
if (iSum % 11 != 1) {
// alert("非法身份证号");
return false;
}
} else if (idCardLength == 15) {
sBirthday = "19" + strIDno.substr(6, 2) + "-"
+ Number(strIDno.substr(8, 2)) + "-"
+ Number(strIDno.substr(10, 2));
var d = new Date(sBirthday.replace(/-/g, "/"))
var dd = d.getFullYear().toString() + "-" + (d.getMonth() + 1)
+ "-" + d.getDate();
if (sBirthday != dd) {
// alert("非法生日");
return false;
}
}
return true;
},
/*
* 用途:检查输入字符串是否符合邮政编码格式 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
*/
isZipcode : function(str) {
var reg = /^\d+$/;
if (!reg.test(str))
return false;
if (str.length != 6) {
// alert("邮政编码长度必须是6位");
return false;
}
return true;
},
/*
* 用途:检查输入字符串是否符合金额格式 格式定义为带小数的正数,小数点后最多三位 输入: s:字符串 返回:
* 如果通过验证返回true,否则返回false
*/
isMoney : function(s) {
var regu = "^[0-9]+[\.][0-9]{0,3}$";
var re = new RegExp(regu);
if (re.test(s)) {
return true;
} else {
return false;
}
},
/*
* 用途:检查输入字符串是否只由汉字组成 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
*/
isZh : function(str) {
var reg = /^[\u4e00-\u9fa5]+$/;
if (reg.test(str))
return true;
return false;
},
/*
* 用途:检查输入对象的值是否符合整数格式 输入:str 输入的字符串 返回:如果通过验证返回true,否则返回false
*/
isInteger : function(str) {
var regu = /^[-]{0,1}[0-9]{1,}$/;
return regu.test(str);
},
/*
* 用途:检查输入字符串是否只由汉字、字母、数字组成 输入: value:字符串 返回: 如果通过验证返回true,否则返回false
*/
isChinaOrNumbOrLett : function(s) {// 判断是否是汉字、字母、数字组成
var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";
var re = new RegExp(regu);
if (re.test(s)) {
return true;
} else {
return false;
}
},
/*
* 用途:校验ip地址的格式 输入:strIP:ip地址 返回:如果通过验证返回true,否则返回false;
*/
isIP : function(strIP) {
if (isNull(strIP))
return false;
var re = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g // 匹配IP地址的正则表达式
if (re.test(strIP)) {
if (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256
&& RegExp.$4 < 256)
return true;
}
return false;
},
/*
* 用途:检查输入字符串是否只由英文字母和数字组成 输入: s:字符串 返回: 如果通过验证返回true,否则返回false
*/
isNumberOrLetter : function(s) {// 判断是否是数字或字母
var regu = "^[0-9a-zA-Z]+$";
var re = new RegExp(regu);
if (re.test(s)) {
return true;
} else {
return false;
}
},
/*
* 用途:去掉空格操作 一系列 输入:s:字符串 返回: 字符串
*/
trim : function(str) {
return str.replace(/(^\s*)|(\s*$)/g, "");
},
//去除左边空格
ltrim : function(str) {
return str.replace(/(^\s*)/g, "");
},
//去除右边空格
rtrim : function(str) {
return str.replace(/(\s*$)/g, "");
},
//去除全部空格
trim_string : function(str) {
return str.replace(/(^\s*)|(\s*$)/g, "");
}
};
//利用正则表达式判断输入的数是否为0---9之间
function regIsDigit(fData)
{
var reg = new RegExp("^[0-9]$");
return (reg.test(fData));
}
//判断是否是数值
function regIsNumber(fData)
{
var reg = new RegExp("^[-]?[0-9]+[\.]?[0-9]+$");
return reg.test(fData)
}
function isNumber(age){
if(regIsNumber(age)){
alert("您输入的年龄是合法的");
document.getElementById("ageInf1o").innerText(' 您输入的年龄是合法的! ');
}else{
alert("您输入的年龄是不合法的");
document.getElementById("ageInf1o").innerText("<font color='red'> 您输入的年龄是不合法的! </font>");
}
}
//验证Email是否正确
function regIsEmail(fData)
{
var reg = new RegExp("^[0-9a-zA-Z]+@[0-9a-zA-Z]+[\.]{1}[0-9a-zA-Z]+[\.]?[0-9a-zA-Z]+$");
return reg.test(fData);
}
//判断手机号是否正确
function regIsPhone(fData)
{
var reg = /^(\+86)?(1[0-9]{10})$/;
return reg.test(fData);
}
//验证用户名只能输入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 ;
}
//验证简单日期的合法性(年-月-日)
function regIsDate(date){
var regex =/^([1-2]\d{3})[\/|\-](0?[1-9]|10|11|12)[\/|\-]([1-2]?[0-9]|0[1-9]|30|31)$/;
return regex.test(date);
}
//验证密码:以字母开头、数字字母组成,长度在6-12之间
function isRegistPassword(s)
{
var reg = new RegExp("^[a-zA-Z]{1}[0-9a-zA-Z]{5,11}$");
if(reg.test(s)){
return true;
}
return false;
}
相关推荐
这篇学习笔记将深入探讨JavaScript正则表达式的概念、语法和实际应用。 一、正则表达式基础 1. 创建正则表达式: - 字面量表示法:`/pattern/flags` - 构造函数:`new RegExp('pattern', 'flags')` 2. 常见的...
JavaScript正则表达式是编程语言中的一个重要组成部分,用于处理文本模式匹配和字符串操作。这篇博客“javascript正则表达式综合练习”可能是一个实践教程或示例集合,旨在帮助开发者提升在JavaScript中使用正则...
下面是一个简单的JavaScript示例代码,展示如何使用正则表达式匹配`<div>`和`<style>`标签: ```javascript // 示例字符串,包含div和style标签 var htmlString = '<div>这是一个div标签的内容。这是style标签中的...
JavaScript 数据校验 正则表达式 示例代码JavaScript 数据校验 正则表达式 示例代码JavaScript 数据校验 正则表达式 示例代码JavaScript 数据校验 正则表达式 示例代码JavaScript 数据校验 正则表达式 示例代码...
以下是一些常见的JavaScript正则表达式及其应用: 1. **匹配中文字符**:`[\u4e00-\u9fa5]` 这个正则表达式用于匹配Unicode范围内的中文字符,包括所有汉字。例如,如果你想在一个字符串中查找所有中文字符,可以...
下面详细解析了文档中提到的JavaScript正则表达式实战应用的各个方面。 首先,匹配结尾的数字是正则表达式的一个常用功能。在JavaScript中,可以使用正则表达式/\d+$/g来实现。这个表达式可以找到字符串中最后一个...
掌握这些知识点后,开发者可以利用JavaScript的正则表达式功能进行复杂的文本操作,提高代码的效率和灵活性。无论是数据验证、文本处理还是字符串操作,正则表达式都是JavaScript程序员不可或缺的工具。
JavaScript正则表达式是网页开发中的重要工具,用于处理文本数据的验证、查找、替换等操作。在网页制作过程中,熟练掌握正则表达式能够极大地提高代码效率和灵活性。本压缩包“Javascript正则表达式测试网页.rar”...
正则表达式在JavaScript中的应用非常广泛,熟练掌握其语法和常用模式对于提高代码的健壮性和效率至关重要。通过不断实践和学习,开发者可以创建出更复杂的正则表达式,以应对各种数据验证和文本处理的需求。
本资源“源码(精通正则表达式&实战正则表达式)”专注于JavaScript环境下的正则表达式学习,通过一系列视频教程和配套源码,帮助开发者提升对正则表达式的理解和应用能力。 首先,"精通正则表达式五部视频"可能涵盖...
JavaScript正则表达式工具是一种基于JavaScript开发的应用程序,旨在帮助开发者和编程爱好者更方便地理解和使用正则表达式。在编程领域,正则表达式(Regular Expression)是一种强大的文本处理工具,广泛应用于字符...
在编程世界中,三目运算符和正则表达式是两个非常重要的概念,它们各自扮演着独特的角色,同时也常被结合起来使用,以提高代码的简洁性和效率。让我们深入探讨这两个主题。 首先,三目运算符,也称为条件运算符,是...
在提供的压缩包文件"076"中,可能包含了用于演示或练习这个正则表达式的代码或数据。通过学习和理解这个例子,开发者可以加深对正则表达式的掌握,并提升在实际项目中的应用能力。无论是在网页表单验证、服务器端...
JavaScript正则表达式是编程语言JavaScript中的一个重要组成部分,它用于处理...通过学习《JavaScript正则表达式迷你书(1.1版)》,读者将能够熟练掌握正则表达式在JavaScript中的运用,从而提高开发效率和代码质量。
本文主要介绍了javascript正则表达式模糊匹配IP地址的功能示例,结合简洁实例形式演示了JS模糊匹配IP地址的实现方法,涉及针对数字及字符串的相关正则判定与匹配操作技巧。 一、javascript正则表达式模糊匹配IP地址...
2. **利用编程语言**:大多数编程语言如Python、Java、JavaScript等都内置了正则表达式的支持,并提供了方法来生成符合正则表达式的随机字符串。例如,Python的`re`模块配合`random.choice`或`random.choices`可以...
熟练掌握JavaScript正则表达式能够极大地提升你的编程效率和代码质量。 综上所述,JavaScript正则表达式是一门深奥但实用的技术,涵盖了许多概念和技巧。通过不断学习和实践,你可以更好地利用正则表达式解决各种...