javascript正则
<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正则的更多相关文章
- JavaScript正则实战
*:first-child { margin-top: 0 !important; } .markdown-body>*:last-child { margin-bottom: 0 !impor ...
- 我也谈javascript正则匹配
一.javascript 正则全局匹配 g 慎用test()方法 来个例子: var a = /^[a-z]+/gi; a.test('bb123'); //true a.lastIndex ; // ...
- JavaScript正则式入门
正则式 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表通常被用来检索.替换那些符合某个模式(规 ...
- JavaScript 正则
元字符 预定义类 边界 ^在中括号中时,匹配非hello的 str = 'hello world' str.match(/[^hello]/g) //[" ", "w&q ...
- JavaScript正则中\1\2的作用
一.示例 1. 验证6个相同的数字 var reg = new RegExp(/^(\d)\1{5}/g); var a = '333333'; if(reg.test(a)) { alert('ri ...
- JavaScript 正则表达收集整理
JavaScript 正则表达收集整理 //可为空 /^\s*$/ //密码验证,必须且只含有数字和字母,可以拥有英文符号,6-17位 /(?=.{,})(?=.*\d)(?=.*[a-z])[\x2 ...
- JavaScript正则常用知识总结
一.JavaScript正则相关方法 str.match(regexp)与regexp.exec(str)功能类似. str.search(regexp)与regexp.test(str)功能类似. ...
- JavaScript 正则的使用方法
JavaScript正则方法 1.compile 编译一个正则表达式对象 rgExp.compile(pattern, [flags]) pattern字符串表达式 2.exec 在指定字符串中执行 ...
- Javascript正则构造函数与正则表达字面量&&常用正则表达式
本文不讨论正则表达式入门,即如何使用正则匹配.讨论的是两种创建正则表达式的优劣和一些细节,最后给出一些常用正则匹配表达式. Javascript中的正则表达式也是对象,我们可以使用两种方法创建正则表达 ...
- JavaScript正则验证邮箱
正则表达式/^正则$/.test() <html> <head> <title>JavaScript</title> <meta charset= ...
随机推荐
- startActivityForResult
Activity提供了startActivityForResult(Intent intent, int requestCode)方法打开新的Activity,新的Activity关闭后会向前面的Ac ...
- oracle双机热备概念
1. 双机热备概述 双机热备有两种实现模式,一种是基于共享的存储设备的方式,另一种是没有共享的存储设备的方式,一般称为纯软件方式. 基于存储共享的双机热备是双机热备的最标准方案. ...
- 监听<input/>标签行为的方法总结
一.内容改变 1.<input onchange="javascript:function()"/>方法 onchange可以替换为下面几种:oninput,onpro ...
- winform登陆 记住用户名 代码
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 转载:Java连接MySQL 数据库的正确操作流程
转载网址:http://www.bitscn.com/pdb/mysql/201005/186551.html 以下的文章主要介绍的是Java连接MySQL 数据库(以MySQL数据库为例 ...
- asp.net 字符帮助类 类型转换类
/// <summary> /// 字符帮助类 /// </summary> public class StringHelper { private static readon ...
- WebSQL实例记录
<table id="content"> </table> <br> <input type="button" id= ...
- 大整数算法[11] Karatsuba乘法
★ 引子 前面两篇介绍了 Comba 乘法,最后提到当输入的规模很大时,所需的计算时间会急剧增长,因为 Comba 乘法的时间复杂度仍然是 O(n^2).想要打破乘法中 O(n^2) ...
- 转:pthread_create()
http://blog.csdn.net/youbang321/article/details/7815707 原型:int pthread_create((pthread_t *thread, ...
- TimeZone 时区 (JS .NET JSON MYSQL)
来源参考 : http://www.cnblogs.com/qiuyi21/archive/2008/03/04/1089456.html 来源参考 : http://walkingice.blogs ...