常用正规表达式

java script验证表单时常用:

"^-[0-9]*[1-9][0-9]*$"  //负整数  

"^-?\\d+$"    //整数  

"^\\d+(\\.\\d+)?$"  //非负浮点数(正浮点数 + 0)  

"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数  

"^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$"  //非正浮点数(负浮点数 + 0)  

"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数  

"^(-?\\d+)(\\.\\d+)?$"  //浮点数  

"^[A-Za-z]+$"  //由26个英文字母组成的字符串  

"^[A-Z]+$"  //由26个英文字母的大写组成的字符串  

"^[a-z]+$"  //由26个英文字母的小写组成的字符串  

"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串  

"^\\w+$"  //由数字、26个英文字母或者下划线组成的字符串  

"^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$"    //email地址  

"^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$"  //url   

应用实例

用户名(英文、数字、下划线):

/^[a-zA-Z0-9_]{1,}$/   

无符号字符串:

/^[^\s]{1}[^-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*$/

Email:

/^\w+([-+.]\w+)*@\w+([-.]\\w+)*\.\w+([-.]\w+)*$/

电话号码:

/^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/

手机号码:

/^((\(\d{3}\))|(\d{3}\-))?13\d{9}$/

URL:

/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/

身份证:

/^\d{15}(\d{2}[A-Za-z0-9])?$/

货币:

/^\d+(\.\d+)?$/

数字:

/^\d+$/

邮政编码:

/^[1-9]\d{5}$/

QQ:

/^[1-9]\d{4,8}$/

整数:

/^[-\+]?\d+$/

实数:

/^[-\+]?\d+(\.\d+)?$/

英文:

/^[A-Za-z]+$/

中文

/^[\u0391-\uFFE5]+$/

密码(必须含有大写字母、小写字母、标点、数字中的至少两种。呵呵,这个比较变态吧~)

/^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)|.{0,5})$|\s/

利用正则表达式限制网页表单里的文本框输入内容:

用正则表达式限制只能输入中文:onkeyup="value="/value.replace(/["^\u4E00-\u9FA5]/g,’’)" onbeforepaste="clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^\u4E00-\u9FA5]/g,’’))"

用正则表达式限制只能输入全角字符: /value.replace(/["^\uFF00-\uFFFF]/g,’’)" onbeforepaste="clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^\uFF00-\uFFFF]/g,’’))"

用正则表达式限制只能输入数字:onkeyup="value="/value.replace(/["^\d]/g,’’) "onbeforepaste="clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^\d]/g,’’))"

用正则表达式限制只能输入数字和英文:onkeyup="value="/value.replace(/[\W]/g,"’’) "onbeforepaste="clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^\d]/g,’’))"

<script language="java script">

//去左空格;

function ltrim(s){

    return s.replace( /^\\s*/, "");

}

//去右空格;

function rtrim(s){

    return s.replace( /\\s*$/, "");

}

//去左右空格;

function trim(s){

    return rtrim(ltrim(s));

}

//是否为空值;

function IsEmpty(_str){

    var tmp_str = trim(_str);

    return tmp_str.length == 0;

}

//是否有效的Email;

function IsMail(_str){

    var tmp_str = trim(_str);

    var pattern = /^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$/;

    return pattern.test(tmp_str);

}

//是否有效的数字;

function IsNumber(_str){

    var tmp_str = trim(_str);

    var pattern = /^[0-9]/;

    return pattern.test(tmp_str);

}

//是否有效的颜色值;

function IsColor(color){

    var temp=color;

    if (temp=="") return true;

    if (temp.length!=7) return false;

    return (temp.search(/\\#[a-fA-F0-9]{6}/) != -1);

}

//是否有效的链接;

function IsURL(url){

    var sTemp;

    var b=true;

    sTemp=url.substring(0,7);

    sTemp=sTemp.toUpperCase();

    if ((sTemp!="http://" target="_blank" ... #124;|(url.length<10)){

        b=false;

    }

    return b;

}

//是否有效的手机号码;

function IsMobile(_str){

    var tmp_str = trim(_str);

    var pattern = /13\\d{9}/;

    return pattern.test(tmp_str);

}



------------------------------------------------------------------------------------------------------------------------------------------------

常用正则表达式
1。^d+$  //匹配非负整数(正整数 + 0)
2。^[0-9]*[1-9][0-9]*$  //匹配正整数
3。^((-d+)|(0+))$  //匹配非正整数(负整数 + 0)
4。^-[0-9]*[1-9][0-9]*$  //匹配负整数
5。^-?d+$    //匹配整数
6。^d+(.d+)?$  //匹配非负浮点数(正浮点数 + 0)
7。^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$  //匹配正浮点数
8。^((-d+(.d+)?)|(0+(.0+)?))$  //匹配非正浮点数(负浮点数 + 0)
9。^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$  //匹配负浮点数
10。^(-?d+)(.d+)?$  //匹配浮点数
11。^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
12。^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
13。^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
14。^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
15。^w+$  //匹配由数字、26个英文字母或者下划线组成的字符串
16。^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$    //匹配email地址
17。^[a-zA-z]+://匹配(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$  //匹配url
18。匹配中文字符的正则表达式: [u4e00-u9fa5]
19。匹配双字节字符(包括汉字在内):[^x00-xff]
20。应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len=function(){return this.replace([^x00-xff]/g,'aa').length;}
21。匹配空行的正则表达式:n[s| ]*r
22。匹配HTML标记的正则表达式:/< (.*)>.*|< (.*) />/
23。匹配首尾空格的正则表达式:(^s*)|(s*$)

* 正则表达式用例
  * 1、^S+[a-z A-Z]$ 不能为空 不能有空格  只能是英文字母
  * 2、S{6,}         不能为空 六位以上
  * 3、^d+$          不能有空格 不能非数字
  * 4、(.*)(.jpg|.bmp)$ 只能是jpg和bmp格式
  * 5、^d{4}-d{1,2}-d{1,2}$ 只能是2004-10-22格式
  * 6、^0$            至少选一项
  * 7、^0{2,}$        至少选两项
  * 8、^[s|S]{20,}$ 不能为空 二十字以上
  * 9、^+?[a-z0-9](([-+.]|[_]+)?[a-z0-9]+)*@([a-z0-9]+(.|-))+[a-z]{2,6}$邮件
  * 10、w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*([,;]s*w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*)* 输入多个地址用逗号或空格分隔邮件
  * 11、^(([0-9]+))?[0-9]{7,8}$电话号码7位或8位或前面有区号例如(022)87341628
  * 12、^[a-z A-Z 0-9 _]+@[a-z A-Z 0-9 _]+(.[a-z A-Z 0-9 _]+)+(,[a-z A-Z 0-9 _]+@[a-z A-Z 0-9 _]+(.[a-z A-Z 0-9 _]+)+)*$
  *     只能是字母、数字、下划线;必须有@和.同时格式要规范 邮件
  * 13 ^w+@w+(.w+)+(,w+@w+(.w+)+)*$上面表达式也可以写成这样子,更精练。
    14   ^w+((-w+)|(.w+))*@w+((.|-)w+)*.w+$

============================================================================================================================

常用正则表达式
关键词: 正则表达式                                          
 

'^d+$'  //非负整数(正整数 + 0)

'^[0-9]*[1-9][0-9]*$'  //正整数

'^((-d+)|(0+))$'  //非正整数(负整数 + 0)

'^-[0-9]*[1-9][0-9]*$'  //负整数

'^-?d+$'    //整数

'^d+(.d+)?$'  //非负浮点数(正浮点数 + 0)

'^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$'  //正浮点数

'^((-d+(.d+)?)|(0+(.0+)?))$'  //非正浮点数(负浮点数 + 0)

'^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$'  //负浮点数

'^(-?d+)(.d+)?$'  //浮点数

'^[A-Za-z]+$'  //由26个英文字母组成的字符串

'^[A-Z]+$'  //由26个英文字母的大写组成的字符串

'^[a-z]+$'  //由26个英文字母的小写组成的字符串

'^[A-Za-z0-9]+$'  //由数字和26个英文字母组成的字符串

'^w+$'  //由数字、26个英文字母或者下划线组成的字符串

'^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$'    //email地址

'^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$'  //url

posted on 2008-09-20 12:51  chuncn  阅读(708)  评论(0编辑  收藏  举报

导航