/**
* JavaScript正则表达式 用于表单验证。
* 包括常用的验证方法,全部使用正则表达式验证。
* 所有方法都以“reg_”作为前缀,必免与其他脚本函数重名。
*
* @author weishaoxiang
* @web http://weishaoxiang.iteye.com
* @date 2012-01-15
* @version 1.0
*/
/**
* execl方法:返回一个类似数组的对象,返回对象[0]就是整个正则表达式所匹配的内容,后续的元素则是各个子正则表达式的匹配内容。
*
* @param {}
* reg 正则表达式
* @param {}
* str 字符串
* @return {} 返回一个类似数组的对象
*/
function reg_execl(reg, str) {
return reg.exec(str);
}
/**
* test方法:检查是否能够匹配str,并且返回布尔值以表示是否成功
*
* @param {}
* reg 正则表达式
* @param {}
* str 字符串
* @return {} 返回true或者false
*/
function reg_test(reg, str) {
return reg.test(str);
}
/**
* match方法:返回一个类似数组的对象。设置了g修饰符的正则表达式在完成一次成功匹配后不会停止,而是继续找到所有可以匹配到的字符。
*
* @param {}
* reg 正则表达式
* @param {}
* str 字符串
* @return {} 返回一个类似数组的对象
*/
function reg_match(reg, str) {
return str.match(reg);
}
/**
* replace方法:将str字符串中匹配reg的部分用“newStr”部分替换,值得注意的是原字符串并不会被修改,而是作为返回值被返回。
*
* @param {}
* reg 正则表达式
* @param {}
* str 字符串
* @param {}
* newStr 替换字符串
* @return {} 替换后的字符串
*/
function reg_replace(reg, str, newStr) {
return str.replace(reg, newStr);
}
/**
* search方法:返回正则表达式第一次匹配的位置
*
* @param {}
* reg 正则表达式
* @param {}
* str 字符串
* @return {}
*/
function reg_search(reg, str) {
return str.search(reg);
}
/**
* split方法:分割字符串
*
* @param {}
* reg 正则表达式
* @param {}
* str 字符串
* @return {} 返回分割后的数组
*/
function reg_split(reg, str) {
return str.split(reg);
}
/**
* 去掉字符串头尾空格
*
* @param {}
* str
* @return {}
*/
function reg_trim(str) {
return str.replace(/(^\s*)|(\s*$)/g, "");
}
/**
* 去掉字符串头部空格
*
* @param {}
* str
* @return {}
*/
function reg_Ltrim(str) {
return str.replace(/(^\s*)/g, "");
}
/**
* 去掉字符串尾部空格
*
* @param {}
* str
* @return {}
*/
function reg_Rtrim(str) {
return str.replace(/(\s*$)/g, "");
}
/**
* 计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
*
* @param {}
* str
* @return {}
*/
function reg_length(str) {
return str.replace(/[^\x00-\xff]/g, "xx").length;
}
/**
* 是否由26个英文字母组成
*
* @param {}
* str
* @return {}
*/
function reg_isLetter(str) {
var reg = /^[A-Za-z]+$/;
return reg.test(str);
}
/**
* 是否由26个小写英文字母组成
*
* @param {}
* str
* @return {}
*/
function reg_isLowerCase(str) {
var reg = /^[a-z]+$/;
return reg.test(str);
}
/**
* 是否由26个大写英文字母组成
*
* @param {}
* str
* @return {}
*/
function reg_isUpperCase(str) {
var reg = /^[A-Z]+$/;
return reg.test(str);
}
/**
* 是否由数字和26个英文字母组成
*
* @param {}
* str
* @return {}
*/
function reg_isLN(str) {
var reg = /^[A-Za-z0-9]+$/;
return reg.test(str);
}
/**
* 是否由数字、26个英文字母或者下划线组成
*
* @param {}
* str
* @return {}
*/
function reg_isLNL(str) {
var reg = /^\w+$/;
return reg.test(str);
}
/**
* 是否纯数字,由0-9组成
*
* @param {}
* str
* @return {}
*/
function reg_isNumber(str) {
var reg = /^[0-9]*$/;
return reg.test(str);
}
/**
* 是否整数
*
* @param {}
* str
* @return {}
*/
function reg_isInt(str) {
var reg = /^-?\d+$/;
return reg.test(str);
}
/**
* 是否浮点数
*
* @param {}
* str
* @return {}
*/
function reg_isFloat(str) {
var reg = /^(-?\d+)(\.\d+)?/;
return reg.test(str);
}
/**
* 是否中文汉字
*
* @param {}
* str
* @return {}
*/
function reg_isChinese(str) {
var reg = /^[\u4E00-\u9FA5]*$/;
return reg.test(str);
}
/**
* 是否双字节字符(包括汉字中文标点符号在内)
*
* @param {}
* str
* @return {}
*/
function reg_isDbChar(str) {
var reg = /^[^\x00-\xff]*$/;
return reg.test(str);
}
/**
* 是否Email地址
*
* @param {}
* str
* @return {}
*/
function reg_isEmail(str) {
var reg = /^\w+@\w+\.\w+$/;
return reg.test(str);
}
/**
* 是否URL地址
*
* @param {}
* str
* @return {}
*/
function reg_isUrl(str) {
var reg = /[a-zA-z]+:\/\/[\S]*/;
return reg.test(str);
}
/**
* 是否href网络链接
*
* @param {}
* str
* @return {}
*/
function reg_isHref(str) {
var reg = /(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?/;
return reg.test(str);
}
/**
* 是否src图片链接
*
* @param {}
* str
* @return {}
*/
function reg_isSrc(str) {
var reg = /(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?/;
return reg.test(str);
}
/**
* 是否IP地址
*
* @param {}
* str
* @return {}
*/
function reg_isIP(str) {
var reg = /\d+\.\d+\.\d+\.\d+/;
return reg.test(str);
}
/**
* 是否手机号码(以1开头,11位数字)
*
* @param {}
* str
* @return {}
*/
function reg_isPhone(str) {
var reg = /^[1][0-9]{10}$/;
return reg.test(str);
}
/**
* 是否中国电话号码验证: 匹配形式如:0511-4405222 或者021-87888822 或者 021-44055520-555
* 或者(0511)4405222
*
* @param {}
* str
* @return {}
*/
function reg_isTelephone(str) {
var reg = /^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}(-\d{3})*$/;
return reg.test(str);
}
/**
* 是否身份证号(15位或18位)
*
* @param {}
* str
* @return {}
*/
function reg_isCard(str) {
var reg = /^(\d{15}|\d{17}([0-9xX]))$/;
return reg.test(str);
}
/**
* 是否中国邮政编码(6位)
*
* @param {}
* str
* @return {}
*/
function reg_isPostalCode(str) {
var reg = /^[0-9]{6}$/;
return reg.test(str);
}
/**
* 是否腾讯QQ号
*
* @param {}
* str
* @return {}
*/
function reg_isQQ(str) {
var reg = /[1-9][0-9]{4,}/;
return reg.test(str);
}
/**
* 是否一年的12个月
*
* @param {}
* str
* @return {}
*/
function reg_isMonth(str) {
var reg = /^(0?[1-9]|1[0-2])$/;
return reg.test(str);
}
/**
* 是否一个月的31天
*
* @param {}
* str
* @return {}
*/
function reg_isDay(str) {
var reg = /^((0?[1-9])|((1|2)[0-9])|30|31)$/;
return reg.test(str);
}
/**
* 是否短日期格式
*
* @param {}
* str
* @return {}
*/
function reg_isDateShort(str) {
var reg = /^(\d{4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
return reg.test(str);
}
/**
* 是否长日期格式
*
* @param {}
* str
* @return {}
*/
function reg_isDateLong(str) {
var reg = /^(\d{4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
return reg.test(str);
}
/**
* 是否十六进制值
*
* @param {}
* str
* @return {}
*/
function reg_isHex(str) {
var reg = /^#?([a-f0-9]{6}|[a-f0-9]{3})$/;
return reg.test(str);
}
分享到:
相关推荐
javascript正则表达式迷你书 (1).pdf
了解正则表达式概念 掌握正则表达式的语法 熟练掌握正则表达式在JavaScript中的应用
javascript正则表达式详解 (chm)
许多语言,包括Perl、PHP、Python、JavaScript和JScript,都支持用正则表达式处理文本,一些文本编辑器用正则表达式实现高级“搜索-替换”功能。那么Java又怎样呢?本文写作时,一个包含了用正则表达式进行文本处理...
网上看到的一篇介绍Javascript正则表达式的文章,感觉非常不错,整理了一下导出成PDF,有兴趣的看一下。文章属于转载,文档中注明了出处。
正则表达式可以: •测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证 •替换文本。可以在文档中使用一个正则表达式...
常用Javascript正则表达式汇总,常用Javascript正则表达式汇总
JavaScript正则表达式迷你书,学习javascript的宝典。
javascript常用正则表达式大全,基本覆盖基本需求的正则表达式
ECMAScript v3对JavaScript正则表达式进行了标准化。JavaScript 1.2实现了ECMAScript v3要求的正则表达式特性的子集,JavaScript 1.5实现了完整的标准。JavaScript的正则表达式完全以Perl程序设计语言的正则表达式...
JavaScript验证正则表达式大全.txtJavaScript验证正则表达式大全.txtJavaScript验证正则表达式大全.txtJavaScript验证正则表达式大全.txtJavaScript验证正则表达式大全.txtJavaScript验证正则表达式大全....
对于如何使用正则表达式来解决性能不佳、误报、漏报等常见的错误以及完成一些常见的任务,《正则表达式经典实例》给出了涉及基于C#、Java、JavaScript、Perl、PHP、Python、Ruby和VB.NET等编程语言的解决方案。...
经典JavaScript正则表达式实战 目录 1. 正则表达式实战...1 2. 匹配结尾的数字...2 3. 统一空格个数...3 4. 判断字符串是不是由数字组成...3 5. 电话号码正则...3 6. 手机号码正则表达式...4 7. 使用正则...
JJavaScript正则表达式下——相关方法 search match replace
主要介绍了JavaScript正则表达式匹配<div><style>标签 的相关资料,需要的朋友可以参考下
JavaScript正则表达式验证身份证号码是否合法(两种方法)分析.docx
经典Javascript正则表达式 正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。 匹配中文字符的正则表达式: [\...
Javascript正则表达式测试网页.rar 学习和做网页时使用的手册
javascript正则表达式表单验证大全非常好用!