工作中JS经常使用表达式:

1)2010-09-10类型日期校验

2)推断正整数。字符串长度

3)校验长度,和是否空

4)推断字符串是否为空

5)比較字符大小

6)推断字符串长度

7)推断格式是否为Email格式

8)推断是否为两位小数

9)推断是否包括中文

10)推断是否包括字符串

11)推断是否为数字

12)推断是否为正整数

13)推断英文字符跟数字组合

14)IP格式推断

Ext.require(['*']);

	/***
* 日期校验
* @param {} num
* @return {}
*/
function testDate(newdate){
alert(newdate);
var startime=Ext.util.Format.date(newdate,'Y-m-d H:m:s');
var startDateTemp = startime.split(" ");
reg=/^([1-2]\d{3})[\/|\-](0? [1-9]|10|11|12)[\/|\-]([1-2]? [0-9]|0[1-9]|30|31)$/;
if(!startDateTemp[0].match(reg)){
Ext.Msg.alert("系统提示","请选择正确的日期格式如:2010-09-10!!");
return false;
}
return true;
} //推断正整数。字符串长度
function checkNumAndLen(abc,lenNum)
{
//推断空
if(!checkNull(abc)) {
//推断正整数
var reg = /^[0-9]+[0-9]*]*$/; //推断字符串是否为数字 /^[0-9]+.? [0-9]*$/
if (!abc.match(reg))
{
return false;
}
return checkLenth(abc,lenNum);
}
return false;
} //推断正整数,字符串长度
function checkNumAndNumLen(abc,lenNum) {
//推断空
if(!checkNull(abc)) {
//推断正整数
var pattern = /^[0-9]+[0-9]*]*$/; //推断字符串是否为数字 /^[0-9]+.?[0-9]*$/
if (pattern.test(abc)){
if(abc.length <= lenNum){
return false;
}else{
return true;
}
}else{
return true;
}
}else{
return true;
}
} //校验长度。和是否空
//校验成功返回true 失败false
function checkNullAndLength(abc,num) {
if(!checkNull(abc)) {
return checkLenth(abc,num);
}
return false;
} //推断是否为空
function checkNull(abc) {
if(abc == null || abc.replace(/^\s\s*/, '' ).replace(/\s\s*$/, '' ).length == 0) {
return true;
}
return false;
} /**
* 比較大小
* @param from
* @param to
* @returns {Number}
*/
function compare(from,to){ if(from>to){
return 1;
}else if(from==to){
return 0;
}else if(from<to){
return -1;
} } //推断字符串长度
function checkLenth(abc,lenNum) {
if(lenNum == 0 || abc == null) {
return true;
} var l = 0;
var a = abc.split(""); for (var i=0;i<a.length;i++) {
if (a[i].charCodeAt(0)<299) {
l++;
}
else
{
l+=2;
}
}
if(l > lenNum) {
return false;
}
return true; } //电话号码
function checkPhone(strNumber)
{
var pattern = /^\d{0,20}$/;
if(strNumber==null||strNumber==""){
return true;
}else{
if(pattern.test(strNumber)){
return true;
}
} return false;
} //Email
function checkEmail(strEmail)
{
var pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
if(pattern.test(strEmail))
return true;
return false;
} //2位小数
function isDecimal(value){
if(value == null)
return false; var v = value; var pattern = /^[1-9]+\.\d{1,2}$/;
flag = pattern.test(v); if(!flag){ //obj.value = obj.value + ".00";
//obj.select();
//obj.focus();
return false;
}else{
return true;
}
} //是否包括中文
//true: 包括中文 false:不包括中文
function checkChinese(str){
if (escape(str).indexOf("%u") != -1) {
return true;
}
else {
return false;
}
} //是否包括特殊字符
function checkQuote(str){
var items = new Array("~", "`", "!", "@", "#", "$", "%", "^", "&", "*", "{", "}", "[", "]", "(", ")","'");
items.push(":", ";", "’", "|", "\\", "<", ">", "?", "/", "<<", ">>", "||", "//");
items.push("admin", "administrators", "administrator");
items.push("select", "delete", "update", "insert", "create", "drop", "alter", "trancate");
str = str.toLowerCase();
for (var i = 0; i < items.length; i++) {
if (str.indexOf(items[i]) >= 0) {
return true;
}
}
return false;
} //是否是数字
function checkNum(str){
var pattern = /^[0-9]*$/;
if(pattern.test(str)){
return false;
}else{
return true;
}
} //是否是正整数
function checkPositiveNum(str){
//推断空
if(!checkNull(str)) {
//推断正整数
var reg = /^[1-9]+[0-9]*]*$/; //推断字符串是否为数字 /^[0-9]+.?[0-9]*$/
if (str.match(reg)){
return false;
}else{
return true;
}
}
return true;
} /**
* 推断文件格式是否正确
* @param {Object} str
* @return {TypeName}
*/
function checkFile(str){
//验证图片文件的正则
var img_reg = /\.([vV][mM]){1}$/;
if(str.match(img_reg)){
return false;
}else{
return true;
}
} /**
* 推断文件格式是否正确
* @param {Object} str
* @return {TypeName}
*/
function checkFileExcel(str){
//验证图片文件的正则
var img_reg = /\.([xX][lL][sS]){1}$/;
if(str.match(img_reg)){
return false;
}else{
return true;
}
} //仅仅能是英文字符跟数字组合
function checkatandnumber(str,strlength){ var qtype=/^[A-Za-z0-9]+$/;
if(str.match(qtype)){
if(!checkLenth(str,strlength)){
return false;
}else{
return true;
} }else{
return false;
}
} /**
* IP格式推断
* @param {Object} str
* @param {Object} strlength
* @return {TypeName}
*/
function checkIp(str){
var pattern = /^(\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])$/;
if(pattern.test(str)){
return false;
}else{
return true;
}
}

JS经常使用正則表達式【分享】的更多相关文章

  1. js正則表達式语法

    1. 正則表達式规则 1.1 普通字符 字母.数字.汉字.下划线.以及后边章节中没有特殊定义的标点符号,都是"普通字符".表达式中的普通字符,在匹配一个字符串的时候,匹配与之同样的 ...

  2. 正則表達式--js使用案例

    前言:在前端页面使用中.遇到日期格式的验证.開始使用了一款表单控件验证.可是不兼容!!并且使用起来还受到非常大约束.所以就决定自己写原生js. 为了完毕日期格式的验证.第一步,当然是学会使用正則表達式 ...

  3. js正則表達式--验证表单

    检測手机号码:/0? (13|14|15|18)[0-9]{9}/ 检測username:(数字,英文,汉字.下划线.中横线):/^[A-Za-z0-9_\-\u4e00-\u9fa5]+$/ pas ...

  4. js中 正則表達式

    正則表達式使用具体解释 简单介绍 简单的说,正則表達式是一种能够用于模式匹配和替换的强有力的工具.其作用例如以下: 測试字符串的某个模式.比如,能够对一个输入字符串进行測试,看在该字符串是否存在一个电 ...

  5. js正則表達式

    正則表達式實例化的兩種方式: 字符型 var a=// 對象型var a=new RegExp(,) 修飾符: i:忽略大小寫 g:全局搜索 m:多行搜索 元字符: \轉義字符 \w:字符,數字,下劃 ...

  6. jquery+正則表達式验证邮箱格式的样例

    js: $("#email").blur(function(){ //获取id相应的元素的值,去掉其左右的空格 var email = $.trim($('#email').val ...

  7. javascript 正則表達式补充

    定义 JavaScript种正則表達式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 var reg=new RegExp('<%[^%>]+%&g ...

  8. JavaScript之正則表達式入门

    <html> <head><title>Js String 正則表達式</title><script>//边界符 js 中直接定义须要边界符 ...

  9. 轻松学习JavaScript十四:JavaScript的RegExp对象(正則表達式)

    一RegExp对象概述 RegExp对象表示正則表達式,RegExp是正則表達式的缩写.它是对字符串运行模式匹配的强大工具. RegExp 对象用于规定在文本中检索的内容. 当您检索某个文本时.能够使 ...

随机推荐

  1. 国际化之MessageFormat与占位符

    如果一个字符串文本中包含了多个与国际化相关的数据,可以使用MessageFormat类对这些数据进行批量处理. 例如: 在2016年1月9日的时候,一场台风导致了500间房屋的摧毁和¥1000000元 ...

  2. Boost的安装与使用(整整83篇)

    http://www.cnblogs.com/lidabo/category/542245.html

  3. Minor GC、Major GC和Full GC之间的区别(转)

    在 Plumbr 从事 GC 暂停检测相关功能的工作时,我被迫用自己的方式,通过大量文章.书籍和演讲来介绍我所做的工作.在整个过程中,经常对 Minor.Major.和 Full GC 事件的使用感到 ...

  4. 14.6.7?Limits on InnoDB Tables InnoDB 表的限制

    14.6.7?Limits on InnoDB Tables InnoDB 表的限制 警告: 不要把MySQL system tables 从MyISAM 到InnoDB 表. 这是不支持的操作,如果 ...

  5. jquery mobile 对手势触控提供了如下几个事件监听:

    jquery mobile 对手势触控提供了如下几个事件监听: 复制代码代码如下: tap  当用户点屏幕时触发taphold 当用户点屏幕且保持触摸超过1秒时触发swipe 当页面被垂直或者水平拖动 ...

  6. java中完美打包

    前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: ecl ...

  7. Swift - 使用xib添加新界面

    除了使用storyboard外,我们还可以使用xib来设计并创建页面. 1,下面通过一个样例来演示: (1)点击主界面的“信息”按钮,页面切换到信息界面 (2)点击信息界面的“返回”,关闭信息界面,回 ...

  8. Windows Azure使用体验

    Windows Azure在今年6月6日由世纪互联代理在中国运营,目前只能体验,没有开放注册.不过,体验的门槛比较高,只对企业开放,未来大量对外开放使用貌似时间还早.大家都懂得,“国内门槛高”.本人在 ...

  9. 全局忽略编译警告(设置QMAKE_CXXFLAGS )

    msvc编译器从2010 sp1开始就已经支持UTF-8的源码文件了,然后到vs2012又不支持了,官方表示是BUG.到目前最新的vs2013就解决了这个问题... 但是在编译时仍然会出现4819的警 ...

  10. java如何运行OS命令(转)

    •javac TestRunTime.java•java TestRunTime hostname // 执行“hostname”Linux命令•即可看到输出 import java.io.IOExc ...