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 对象用于规定在文本中检索的内容. 当您检索某个文本时.能够使 ...
随机推荐
- DELPHI 通過窗口句柄或窗口标题得到进程句柄
DELPHI 通過窗口句柄或窗口标题得到进程句柄2009年05月08日 星期五 10:15procedure TForm1.Button1Click(Sender: TObject);varhWind ...
- 基于visual Studio2013解决面试题之0306打印第一次只出现一次的字符
题目
- SilkTest Q&A 7
Q61.有一个用Dotnet开发的应用,有1000个为测它而录制的case,一直都运行的很正常,直到有一天… 有人改变了该应用命名空间,由于现在有一个新的window或是panel出现,所以测试脚本一 ...
- openCV中cvSnakeImage()函数代码分析
/*M/////////////////////////////////////////////////////////////////////////////////////// // // IMP ...
- 【翻译】十大要避免的Ext JS开发方法
原文地址:http://www.sencha.com/blog/top-10-ext-js-development-practices-to-avoid/ 作者:Sean Lanktree Sean ...
- 在屏幕上建立ALV
在屏幕上创建两个文本元素空件.一个推出按钮控件.一个定制控制按钮 代码所示: *&------------------------------------------------------- ...
- 【Visual C++】Windows GDI贴图闪烁解决方法
一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁. 先来谈谈闪烁产生的原因 原因一:如果熟悉显卡原理的话,调用GDI函数向屏幕输出的 ...
- 14.2.5.2 Clustered and Secondary Indexes
14.2.5.2 Clustered and Secondary Indexes : 每个InnoDB 表 有一个特别的索引称为clustered index 行数据存储的地方. 典型的,cluste ...
- cct信息安全
基本信息 全国计算机等级考试三级教程——信息安全技术(2016年版) 作 者:教育部考试中心 编 出 版 社:高等教育出版社 出版时间:2015-12-1 ISBN:9787040443035 ...
- 【web开发学习笔记】Structs2 Action学习笔记(一个)
1.org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter准备和运行 2. <filter-mapping&g ...