`
weishaoxiang
  • 浏览: 96562 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

JavaScript正则表达式(六)

 
阅读更多
/**
 * 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 正则表达式的入门级教程,旨在帮助读者快速掌握正则表达式的基本概念和应用。下面是本书的知识点摘要: 第一章:正则表达式字符匹配攻略 * 两种模糊匹配:横向...

    JavaScript正则表达式迷你书

    《JavaScript正则表达式迷你书》是一本关于JavaScript正则表达式的专业书籍,正则表达式是处理字符串的强大工具,广泛应用于编程语言中的文本处理。本书从字符匹配、位置匹配、括号的作用、回溯法原理、拆分、构建和...

    javascript正则表达式综合练习

    JavaScript正则表达式是编程语言中的一个重要组成部分,用于处理文本模式匹配和字符串操作。这篇博客“javascript正则表达式综合练习”可能是一个实践教程或示例集合,旨在帮助开发者提升在JavaScript中使用正则...

    javascript正则表达式学习笔记

    这篇学习笔记将深入探讨JavaScript正则表达式的概念、语法和实际应用。 一、正则表达式基础 1. 创建正则表达式: - 字面量表示法:`/pattern/flags` - 构造函数:`new RegExp('pattern', 'flags')` 2. 常见的...

    JavaScript正则表达式.ppt

    了解正则表达式概念 掌握正则表达式的语法 熟练掌握正则表达式在JavaScript中的应用

    JavaScript正则表达式迷你书(1.1版)_程序逻辑_

    **JavaScript正则表达式迷你书(1.1版)** 正则表达式是JavaScript中一个强大的工具,用于处理文本字符串,进行模式匹配和查找、替换等操作。它们在编程逻辑中扮演着至关重要的角色,尤其是在处理字符串数据时,...

    javascript正则表达式详解 (chm)

    javascript正则表达式详解 (chm)

    javaScript 正则表达式详解

    JavaScript 正则表达式详解 JavaScript 中的正则表达式是指使用特殊字符来描述字符串模式的表达式。正则表达式可以用来匹配、检索和操作字符串。 RegExp 对象 在 JavaScript 中,正则表达式可以被定义为一个 ...

    Java使用正则表达式提取XML节点内容的方法示例

    1. JavaScript正则表达式在线测试工具:http://tools.jb51.net/regex/javascript 2. 正则表达式在线生成工具:http://tools.jb51.net/regex/create_reg 这些工具可以帮助开发者快速测试和生成正则表达式,从而提高...

    javascript正则表达式详解

    JavaScript正则表达式是JavaScript语言中一种极为重要的文本处理工具,它允许通过简洁的语法定义文本的匹配模式。这些模式可用来对字符串进行检索、替换、提取等操作。了解和掌握JavaScript正则表达式,对于提高...

    正则表达式必知必会v_1.0.pdf

    "正则表达式必知必会" 正则表达式是一种强大的文本处理工具,广泛应用于各个领域。下面是对正则表达式的详细解释: 正则表达式的用途 正则表达式主要用于处理文本,提供了两大主要功能:查找和替换。查找功能允许...

    JavaScript正则表达式匹配 div style标签

    在JavaScript中,正则表达式以斜杠“/”包围的形式出现,例如`/pattern/flags`。在处理HTML文档时,经常会遇到需要从HTML代码中提取特定信息的情况,比如从一段字符串中匹配`<div>`和`<style>`标签。 在进行正则...

    常用Javascript正则表达式汇总

    以下是一些常见的JavaScript正则表达式及其应用: 1. **匹配中文字符**:`[\u4e00-\u9fa5]` 这个正则表达式用于匹配Unicode范围内的中文字符,包括所有汉字。例如,如果你想在一个字符串中查找所有中文字符,可以...

    javascript正则表达式表单验证大全

    ### JavaScript正则表达式在表单验证中的应用详解 在Web开发中,表单验证是确保数据质量和用户体验的重要环节。JavaScript正则表达式提供了一种强大的工具,用于前端数据校验,确保用户输入的数据格式正确无误。...

Global site tag (gtag.js) - Google Analytics