JS经常使用正則表達式【分享】
工作中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;
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经常使用正則表達式【分享】的更多相关文章
- js正則表達式语法
1. 正則表達式规则 1.1 普通字符 字母.数字.汉字.下划线.以及后边章节中没有特殊定义的标点符号,都是"普通字符".表达式中的普通字符,在匹配一个字符串的时候,匹配与之同样的 ...
- 正則表達式--js使用案例
前言:在前端页面使用中.遇到日期格式的验证.開始使用了一款表单控件验证.可是不兼容!!并且使用起来还受到非常大约束.所以就决定自己写原生js. 为了完毕日期格式的验证.第一步,当然是学会使用正則表達式 ...
- js正則表達式--验证表单
检測手机号码:/0? (13|14|15|18)[0-9]{9}/ 检測username:(数字,英文,汉字.下划线.中横线):/^[A-Za-z0-9_\-\u4e00-\u9fa5]+$/ pas ...
- js中 正則表達式
正則表達式使用具体解释 简单介绍 简单的说,正則表達式是一种能够用于模式匹配和替换的强有力的工具.其作用例如以下: 測试字符串的某个模式.比如,能够对一个输入字符串进行測试,看在该字符串是否存在一个电 ...
- js正則表達式
正則表達式實例化的兩種方式: 字符型 var a=// 對象型var a=new RegExp(,) 修飾符: i:忽略大小寫 g:全局搜索 m:多行搜索 元字符: \轉義字符 \w:字符,數字,下劃 ...
- jquery+正則表達式验证邮箱格式的样例
js: $("#email").blur(function(){ //获取id相应的元素的值,去掉其左右的空格 var email = $.trim($('#email').val ...
- javascript 正則表達式补充
定义 JavaScript种正則表達式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 var reg=new RegExp('<%[^%>]+%&g ...
- JavaScript之正則表達式入门
<html> <head><title>Js String 正則表達式</title><script>//边界符 js 中直接定义须要边界符 ...
- 轻松学习JavaScript十四:JavaScript的RegExp对象(正則表達式)
一RegExp对象概述 RegExp对象表示正則表達式,RegExp是正則表達式的缩写.它是对字符串运行模式匹配的强大工具. RegExp 对象用于规定在文本中检索的内容. 当您检索某个文本时.能够使 ...
随机推荐
- Salt Stack 官方文档翻译 - 一个想做dba的sa - 博客频道 - CSDN.NET
OSNIT_百度百科 Salt Stack 官方文档翻译 - 一个想做dba的sa - 博客频道 - CSDN.NET Salt Stack 官方文档翻译 分类: 自动运维 2013-04-02 11 ...
- Swift - 异步获取网络数据封装类
使用NSURLConnection.sendAsynchronousRequest()可以采用异步获取的方式取得数据.下面通过对数据获取类进行封装,演示如何进行数据请求与接收. 1,HttpContr ...
- 4种Delphi IDE的调试时查看内存的方法,太酷了!
1.ctrl+alt+m,可以查看每个函数过程的内存位置 2.Ctrl+Alt+C 查看代码对应的汇编 3.原来用delphi看变量信息一直是简单的用watch看,但是有时候变量值直接用特定类型看总是 ...
- OCA读书笔记(3) - 使用DBCA创建Oracle数据库
Objectives: •Create a database by using the Database Configuration Assistant (DBCA) •Generate databa ...
- POJ1422 最小路径覆盖入门
题意:DAG求最小路径覆盖. 注意:二分匹配只试用于求DAG的最小路径覆盖, 有环就不行,具体可以理解证明. 对n个点进行拆点,分成左右两排点,对于边<u, v> 建 <u', v ...
- ThinkPhp学习07
原文:ThinkPhp学习07 简单CRUD操作 public function show() { $m=M('User'); // $arr=$m->find(2); //查找id=2的数据, ...
- C语言信号学习笔记
在C语言中,对于错误有很多处理方式.然而,今天学习了信号处理,感觉这种处理方式十分灵活,特此记录. 关于信号处理的函数包含于头文件<signal.h>中.所谓的信号,多指出乎程序员意料的行 ...
- 运用mapreduce计算tf-idf
问题描写叙述:给定一个大文件,文件里的内容每一行为:文档名,文档内容. input 文档名1,word1 Word2 ....... 文档名2,word1 Word2 ....... output w ...
- CMMI 是什么东西?
摘要: CMMI全称是Capability Maturity Model Integration,CMMI是个好东西来的,但行内人士对她的认识并不全面,甚至有种种的误解.尽管网上有很多CMM ...
- RGB空间与HSV空间的相互转换(C++实现,修正网上大多数的代码错误)
void Rgb2Hsv(float R, float G, float B, float& H, float& S, float&V) { // r,g,b values a ...