工作中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. webdynpro MESSGAE

    1.  添加辅助类CL_WDR_DEMO_MESSAGES 环境,设计的控件有:输入控件,按钮,每个按钮对应一个事件.分别是下面,然后报消息 TEXT: SUCCESS: method ONACTIO ...

  2. (Relax 数论1.6)POJ 1061 青蛙的约会(扩展的欧几里得公式)

    /* * POJ_1061.cpp * * Created on: 2013年11月19日 * Author: Administrator */ #include <iostream> # ...

  3. ALV编辑行内容有改变时候操作

    ALV编辑行内容时,调用方法 check_changed_data返回变量 gf_valid = 'X'的话说明alv行有变化. 以下拿alv维护表程序部分代码做例: DATA: gr_alvgrid ...

  4. Lucene.Net 2.3.1开发介绍——附录一、如何下载Lucene.Net的各种版本

    原文:Lucene.Net 2.3.1开发介绍--附录一.如何下载Lucene.Net的各种版本 首先,你需要一个svn客户端.TortoiseSVN非常好用,可以从官方网站下载.下载地址:http: ...

  5. Servlet和JSP读书笔记(三)之Cookie

    一. 浏览器和服务器之间通信的简单介绍引出Cookie和Session(只是简单的简介,不包含协议方面的知识) 1.当我们在浏览器中输入一个地址后,回车后就可以看到浏览器给我们展示的漂亮页面.在这个过 ...

  6. Open Source RTOS

    http://www.osrtos.com/     Name License Platforms Description Last updated FreeRTOS Modified GPL MSP ...

  7. 利用jquery+iframe做一个ajax上传效果

    以下是自学it网--中级班上课笔记 网址:www.zixue.it html页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict ...

  8. Spring Framework AOP具体解释

    此前对于AOP的使用仅限于声明式事务,除此之外在实际开发中也没有遇到过与之相关的问题.近期项目中遇到了下面几点需求,细致思考之后,认为採用AOP来解决.一方面是为了以更加灵活的方式来解决这个问题,还有 ...

  9. 主流JavaScript框架(Dojo、Google Closure、jQuery、Prototype、Mootools和YUI)的分析和对比

    本文主要选取了目前比较流行的JavaScript框架Dojo.Google Closure.jQuery.Prototype.Mootools和YUI进行对比,主要是根据网上的资料整理而成,希望可以供 ...

  10. AIX下RAC搭建 Oracle10G(四)安装CRS

    AIX下RAC搭建系列 AIX下RAC搭建Oracle10G(四)安装CRS 环境 节点 节点1 节点2 小机型号 IBM P-series 630 IBM P-series 630 主机名 AIX2 ...