正则表达式-js

1.概念

正则表达式是对 字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。  给定一个正则表达式和另一个字符串,我们可以达到如下的目的:  (1). 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);(  2). 可以通过正则表达式,从字符串中获取我们想要的特定部分。  正则表达式的特点是:  (1). 灵活性、逻辑性和功能性非常的强;(  2). 可以迅速地用极简单的方式达到字符串的复杂控制。(  3.) 对于刚接触的人来说,比较晦涩难懂。  由于正则表达式主要 应用对象是文本,因此它在各种 文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。

2.理解

正则表达式就是一个模板一种规则,我们需要建立一种规则,由我们自己定义。操作对象是字符串。具有检索、替换的功能。首先我们得建立我们的正则,然后去用我们的正则去过滤字符串。

3.javascript

检查字符串中是否含有某个字符,如“a”(不管是几个都看作一个整体,严格区分大小写)

var reg=new RegExp("a");
var result=reg.test("[email protected]");
console.log(result);

忽略大小写的写法

var reg=new RegExp("A","i");
var result=reg.test("[email protected]");
console.log(result);

另一种写法

 var reg=/a/i;                  //reg=/a/;
var result=reg.test("[email protected]");
console.log(result);

或的过滤

var reg=/a|b/;
var result=reg.test("[email protected]");
console.log(result);

或的另一种写法

var reg=/[ab]/;
var result=reg.test("[email protected]");
console.log(result);

//表示或的一种范围。[A-Z]任意大写字母都可以;[a-z]表示任意小写字母都可以;[A-z]表示任意字母都可以;[0-9]

//reg=/[a-z]/;

// var result=reg.test("[email protected]");

// console.log(result);

检查字符串是否有abc或aec或adc

var  reg=/abc|adc|aec/;
var result=reg.test("abc");
console.log(result);
var reg=/a[bde]c/;
var result=reg.test("abc");
console.log(result);

除了##都行的表达方法(找de之外的存在即可

var reg=/[^de]/;
    var result=reg.test("dcfv");
console.log(result);

4.字符串和正则的使用

var str="3f445g55h";
var result=str.split(/[a-z]/);
console.log(result);

 var str="3f445g55h";
var result=str.search(/445/);
console.log(result);

var str="3f445g55h";
var result=str.match(/[a-z]/);
console.log(result);

5.全局表达式

 str="ssd234g4";
 result=str.match(/[A-z]/g);
 console.log(result);

 str="ssd234gB4";
   result=str.replace(/[a-z]/g,"@");
  console.log(result);

6.多种匹配模式(顺序我所谓)

str="ssd234gB4";
  result=str.match(/[a-z]/gi);
 console.log(result);

7.量词

 reg=/a{2}/;
   result=reg.test("abaa");
   console.log(result);

reg=/ab{2}/;    //只对b起作用
   result=reg.test("abba");
   console.log(result);

 reg=/ab{1,2}c/;       //b出现一次或者两次都可以
   result=reg.test("abbc");
   console.log(result);

 reg=/ab{2,}c/;    //2次以上
   result=reg.test("abbbc");
   console.log(result);

 reg=/^a$/;    //既是以a开头,又以当下a结尾,所以只能是一个a
   result=reg.test("aaa");
   console.log(result);

8.点

 reg=/\./;
 result=reg.test("ab");
 console.log(result);

9.斜杠(都要用转义字符)(在构造函数里需要使用两个斜杠,因为在构造函数里斜杠只是一个字符)

 reg=/\\/;
   result=reg.test("a\\b");
   console.log(result);

10.去除字符串开头结尾的空格

 str="    a  dddd   ";
   str=str.replace(/^\s*|\s*$/g,"");
console.log(str);

11.可以网上搜索常用的正则表达式,然后按照自己的要求更改即可。

时间: 2024-10-11 10:34:27

正则表达式-js的相关文章

学习 正则表达式 js java c# python 通用

正则表达式 js java c# python 学习网站 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/RegExp 概念 正则表达式是为了解决字符串操作中一些比较麻烦的场景,比如字符串提取.字符串替换.字符串验证等 常用于:表单验证:是否是一个数字.是一个电话号码.是一个邮箱... 字符串替换: 字符串查找 正则表达式其实也是js里面的一个对象 创建一个正则表达式 var reg

正则表达式--js使用案例

前言:在前端页面使用中,遇到日期格式的验证,开始使用了一款表单控件验证,但是不兼容!!而且使用起来还受到很大约束,所以就决定自己写原生js.为了完成日期格式的验证,第一步,当然是学会使用正则表达式.以前都是直接复制使用,这次理解原理,自己原生写. 接前两篇:js使用案例. //检测控件内容内容格式--控制为"2014-07-21". functioncheckDate(formContorId,message){ // 获取控件对象. var temp = document.getEl

【正则】精通JS正则表达式,没消化 信息量太大,好文

http://www.jb51.net/article/25313.htm 正则表达式可以: •测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证 •替换文本.可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字 •根据模式匹配从字符串中提取一个子字符串.可以用来在文本或输入字段中查找特定文字 正则表达式语法 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称

js正则表达式基础要点

/* * js正则表达式 * js的利用正则的两种方式: * 1.test() 判断给定字符串中是否含有指定规则的字符串 * 2.exec() 在给定字符串中取出指定规则的字符串 */ var text = "assdfdstest_10_asTest20asd"; // 第一种:/../ 只匹配第一个匹配项 var pattern = /\d+/; // pattern.test(text); //true pattern.exec(text); //['10'] // 第二种:/.

项目--js中替换目标字符串指定的所有字符

js提供的字符串替换函数replace可以将字符串中符合条件的字符串替换成目标字符串.但是一般使用字符串进行查找替换只能替换第一个符合条件的结果.如var str = 大家都是男人吗,难道不是吗!;str = str.replace('吗', '嘛');alert(str);var str = 大家都是男人吗,难道不是吗!;str = str.replace('吗', '嘛');alert(str);上述代码中只有第一个吗被替换,输出结果是大家都是男人嘛,难道不是吗! ,嘿嘿如果想全部替换字符串

正则表达式之邮箱验证javascript代码

fuchangxi的正则: 复制代码 代码如下: /^([0-9A-Za-z\-_\.]+)@([0-9a-z]+\.[a-z]{2,3}(\.[a-z]{2})?)$/g 开始必须是一个或者多个单词字符或者是-,加上@,然后又是一个或者多个单词字符或者是-.然后是点“.”和单词字符和-的组合,可以有一个或者多个组合. 复制代码 代码如下: <script type="text/javascript"> function isEmail(str){ var reg = /^

JS 判断某变量是否为某数组中的一个值 的几种方法

1.正则表达式 js 中判断某个元素是否存在于某个 js 数组中,相当于 PHP 语言中的 in_array 函数. Array.prototype.in_array=function(e){ var r=new RegExp(','+e+','); return (r.test(','+this.join(this.S)+',')); }; 用法如下: var arr=new Array(['b',2,'a',4]); arr.in_array('b');//判断'b'字符是否存在于 arr 

正则表达式汇总

1.    平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用: 2.    "^\d+$" //非负整数(正整数 + 0) 3.    "^[0-9]*[1-9][0-9]*$" //正整数 4.    "^((-\d+)|(0+))$" //非正整数(负整数 + 0) 5.    "^-[0-9]*[1-9][0-9]*$" //负整数 6.    "^-?\d+$" //整数

JS判断某变量是否为某数组中的一个值的3种方法

1.正则表达式 js 中判断某个元素是否存在于某个 js 数组中,相当于 PHP 语言中的 in_array 函数. 1 Array.prototype.in_array = function (e) { 2 var r=new RegExp(','+e+','); 3 return (r.test(',' + this.join(this.S) + ',')); 4 }; 用法如下: 1 var arr=new Array(['b', 2, 'a', 4]); 2 arr.in_array('