<script type="text/javascript">

    //去除两边空格,如果要去除所有空格,使用/\s*即可/
String.prototype.trim = function(){
return this.replace(/\s*)|(\s*$)/g,'');
} //中文2字符长度,英文1字符长度
String.prototype.len= function(){
var len;
for(var i = 0 ; i < this.length ;i++){
if(this.charCodeAt[i] > 127 || this.charCodeAt[i] == 94){
len+=2;
}else{
len++
}
}
return len;
}
window.onload = function(){
var fm = document.getElementsByTagName('form')[0];
fm.onsubmit = function(){
//645298225@qq.com
var emailReg = /^\w+([-+.]\w+)*@\w+([-+.]\w+)*\.\w+([-+.]\w+)*$/; //圣兽山
var nameCN = /^[\u4e00-\u9fa5]{2,4}$/;
//13008890154 0775-7966093
var telReg = /(^((\(0\d{2,3}\))|(0\d{2,3}-)|(0\d{2,3}))?\d{7,8}$)|(^1[3,4,6,7,8,5]\d{9}$)/;
//450821198906061973
var idReg = /[0-9]{15}|[0-9]{18}|[0-9]{17}[A-Z]{1}/g; //0-9,1-12;
var monReg = /^(0?[1-9])|(1[0-2])$/;
//01-09 10-19 20-29 30 31
var date = /^((0?[1-9])|([1,2][0-9])|30|31)$/; //http://www.baidu.com
var urlReg =/^(https?:\/\/)?([\w-]+\.)+[\w-]+(\/\w+[\.\/\?&%=])*$/; //0.23;
var floatReg = /^0\.[0-9]{2,}/; if(!floatReg.test(fm.reg.value)){
alert('不合法');
return false;
}
}
}
</script>

要注意的地方有:

1.\w之匹配包括下划线的字符,不包括+=-,等字符;

2.使用花括号限制次数是{n,m}而不是{n-m};另外中括号匹配字符[0-9]表示匹配0-9之间的任意一位,如果要多位,加上花括号的匹配次数例如{2,},表示匹配两位以上。如果是[2,4,5]表示匹配2,4,5中的一个;

3.如果需要使用“|”或,请在两边的需要多次运算的正则表达式上加上"()"括号,另外字符串开头要限制字符的,使用“^”号,但是如果在之后使用"?"表示是否匹配,并不冲突;

4.[]每个中括号都代表限制了一个字符的长度匹配;

5.m多行匹配,开启的话,就是多每一行的开始和结束进行匹配,不开启就是对整个字符串的开头和结束惊醒匹配,通过是用于有开头和结束要求的匹配中;

6.g,开启是对整个字符串进行匹配,否则就是匹配到第一个就不在匹配。

7.match返回的是一个null或者数组,如果买没有任何匹配返回一个null,反则返回一个数组,如果开启全局匹配,返回的是一个匹配到的所有字符的数组,不开启则是返回第一个匹配的字符串及其子项组成的数组。

8.$在replace中有特殊含义。通过函数传参并返回字符串,可以拓展匹配的宽度,

9.?=n表示匹配任何其后面紧接n字符串的字符,例如我们要把200000变成200k,正则式/(?=)(0{3})$/,通过.replace(reg,'k'),即可完成

javascript正则的更多相关文章

  1. JavaScript正则实战

    *:first-child { margin-top: 0 !important; } .markdown-body>*:last-child { margin-bottom: 0 !impor ...

  2. 我也谈javascript正则匹配

    一.javascript 正则全局匹配 g 慎用test()方法 来个例子: var a = /^[a-z]+/gi; a.test('bb123'); //true a.lastIndex ; // ...

  3. JavaScript正则式入门

    正则式 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表通常被用来检索.替换那些符合某个模式(规 ...

  4. JavaScript 正则

    元字符 预定义类 边界 ^在中括号中时,匹配非hello的 str = 'hello world' str.match(/[^hello]/g) //[" ", "w&q ...

  5. JavaScript正则中\1\2的作用

    一.示例 1. 验证6个相同的数字 var reg = new RegExp(/^(\d)\1{5}/g); var a = '333333'; if(reg.test(a)) { alert('ri ...

  6. JavaScript 正则表达收集整理

    JavaScript 正则表达收集整理 //可为空 /^\s*$/ //密码验证,必须且只含有数字和字母,可以拥有英文符号,6-17位 /(?=.{,})(?=.*\d)(?=.*[a-z])[\x2 ...

  7. JavaScript正则常用知识总结

    一.JavaScript正则相关方法 str.match(regexp)与regexp.exec(str)功能类似. str.search(regexp)与regexp.test(str)功能类似. ...

  8. JavaScript 正则的使用方法

    JavaScript正则方法 1.compile 编译一个正则表达式对象 rgExp.compile(pattern, [flags])  pattern字符串表达式 2.exec 在指定字符串中执行 ...

  9. Javascript正则构造函数与正则表达字面量&&常用正则表达式

    本文不讨论正则表达式入门,即如何使用正则匹配.讨论的是两种创建正则表达式的优劣和一些细节,最后给出一些常用正则匹配表达式. Javascript中的正则表达式也是对象,我们可以使用两种方法创建正则表达 ...

  10. JavaScript正则验证邮箱

    正则表达式/^正则$/.test() <html> <head> <title>JavaScript</title> <meta charset= ...

随机推荐

  1. Linq中字段数据类型转换问题(Linq to entity,LINQ to Entities 不识别方法"System.String ToString()"问题解决)

    1.在工作中碰到这样一个问题: 使用linq时,需要查询两个表,在这两张表中关联字段分别是int,和varchar()也就是string,在linq中对这两个字段进行关联, 如果强制类型转换两个不同类 ...

  2. 写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。

    #define  MIN(A,B)   ((A)<=(B)?(A):(B))

  3. datagrid公用字段扩展

    easyui 1.3.5扩展 datagrid 控件 扩展公用段 把 (9082行) var opts = $.data(_698,"datagrid").options; 改成 ...

  4. Java导入证书失败Keystore was tampered with, or password was incorrect

    keytool 错误: java.io.IOException: Keystore was tampered with, or  password was incorrect   在进行证书相关操作, ...

  5. C#泛型理解(转)

    [译]C# 理解泛型  PDF 浏览:http://www.tracefact.net/document/generics-in-csharp.pdf源码下载:http://www.tracefact ...

  6. 关于StrutsTypeConverter类型转换器

    <!-- 问题1: 如何覆盖默认的错误消息? 1). 在对应的 Action 类所在的包中新建 ActionClassName.properties 文件, ActionClassName 即为 ...

  7. asp.net mvc+EF 递归生成树结构返回json

    0.数据表结构,主要属性有:Id.parentId(父节Id).Text.Url……等等. 1.新建一个树结构MenuModels public class MenuModels { private ...

  8. js中将函数传递给另一个函数的解析(非常容易理解)

    $(document).ready(function(){ //JS中关于把函数作为函数的参数来传递的问题的小总结//第一,最简单的形式无参函数,直接形式函数的函数名放到括号中,再在执行部分这个函数即 ...

  9. [POJ] 1606 Jugs(BFS+路径输出)

    题目地址:http://poj.org/problem?id=1606 广度优先搜索的经典问题,倒水问题.算法不需要多说,直接BFS,路径输出采用递归.最后注意是Special Judge #incl ...

  10. 借鉴DP思想: HouseRobberIII

    The thief has found himself a new place for his thievery again. There is only one entrance to this a ...