您的位置:首页 > Web前端 > JavaScript

js正则表达式使用

2013-03-13 16:41 120 查看
1JS正则表达式 代码

"^//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

"^[A-Za-z0-9_]*$"

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

<script language="javascript">

function check(){

//var pattern1=/^[1-9]/d{7}((0/d)|(1[0-2]))(([0|1|2]/d)|3[0-1])/d{3}$/;//15位的身份证

//var pattern2=/^[1-9]/d{5}[1-9]/d{3}((0/d)|(1[0-2]))(([0|1|2]/d)|3[0-1])/d{4}$/;//18位的身份证

var pattern=/^/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*$/;//匹配E-MALI地址

//var pattern=/^http:////([/w-]+/.)+[/w-]+(//[/w- .//?%&=]*)?/;//匹配网址

//var pattern=/http(s)?:////([/w-]+/.)+[/w-]+(//[/w- .//?%&=]*)?/;//匹配网址

//var pattern=/^[/u4e00-/u9fa5]$/;//匹配中文字符(单个汉字)

//var pattern=/^[1-9]/d{5}(?!/d)$/;//匹配邮政编码

//var pattern=/^[1-2][0-9][0-9][0-9]-[0-1]{0,1}[0-9]-[0-3]{0,1}[0-9]$/;//匹配日期 如:1900-01-01

//var pattern=/^[^/x00-/xff]$/;//匹配双字节字符(包括汉字在内的单个字符)

//var pattern=/^<(.*)>.*<///1>|<(.*) //>$/;//匹配HTML标记

//var pattern=/<(/S*?)[^>]*>.*?<///1>|<.*? //>/;//匹配HTML标记

//var pattern=/^/n[/s| ]*/r$/;//可以用来删除空白行

//var pattern=/^(/s*)|(/s*)$///可以用来删除行首尾的空白字符(包括空格、制表符、换页符等等)

//var pattern=/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/;//字母开头,限制5-16字节,允许字母数字下划线

//var pattern=/^/d{3}-/d{8}|/d{4}-/d{7,8}$/;//匹配国内电话 如:0739-8888888(8) 或 020-88888888

//var pattern=/^[1-9][0-9]{4,}$/;//匹配QQ号码 腾讯QQ号从10000开始

//var pattern=/^/d+/./d+/./d+/./d+$/;//匹配IP地址

/*******************匹配特定数字*********************/

//var pattern=/^(/w)/1{4,}*$/;//匹配整数

//var pattern=/-?[1-9]/d*$/;//匹配整数

//var pattern=/^[1-9]/d*$/;//匹配正整数

//var pattern=/^-[1-9]/d*$/;//匹配负整数

//var pattern=/^[1-9]/d*|0$/;//匹配非负整数

//var pattern=/^-[1-9]/d*|0$/;//匹配非正整数

//var pattern=/^[1-9]/d*/./d*|0/./d*[1-9]/d*$/;//匹配正浮点数

//var pattern=/^-([1-9]/d*/./d*|0/./d*[1-9]/d*)$/;//匹配负浮点数

//var pattern=/^-?([1-9]/d*/./d*|0/./d*[1-9]/d*|0?/.0+|0)$/;//匹配浮点数

//var pattern=/^[1-9]/d*/./d*|0/./d*[1-9]/d*|0?/.0+|0$/;//匹配非负浮点数

//var pattern=/^(-([1-9]/d*/./d*|0/./d*[1-9]/d*))|0?/.0+|0$/;//匹配非正浮点数

/********************匹配特定字符串*****************/

//var pattern=/^[A-Za-z]+$/;//匹配由26个英文字母组成的字符串

//var pattern=/^[A-Z]+$/;//匹配由26个英文字母的大写组成的字符串

//var pattern=/^[a-z]+$/;//匹配由26个英文字母的小写组成的字符串

//var pattern=/^[A-Za-z0-9]+$/;//匹配由数字和26个英文字母组成的字符串

//var pattern=/^/w+$/;//匹配由数字、26个英文字母或者下划线组成的字符串

//if(!(pattern1.test(document.form1.text.value)||pattern2.test(document.form1.text.value)))

if(!pattern.test(document.getElementById("content").value)){

alert("请输入正确的格式!");

return false;

}

}

</script>

<%

'限制只能输入中文:onkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/u4E00-/u9FA5]/g,''))"

'限制只能输入全角字符:onkeyup="value=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,''))"

%>

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

/*

*前台JS表单脚本(输入&验证)库

*注:请使用本JS表单脚本(输入&验证)库的同时保留此版权信息,此是作者花了时间去收集整理以及编写的,谢谢!

* 此版本采用GB2312编码格式,请在使用前进行字符编码转换,以保证能够正常使用

*/

/*

*以下是库函数目录及使用说明:

*

*常用

*1、Trim=去除字符串前后空格

使用方法:String.trim()

*2、ctrim=去除字符串中间空格

使用方法:String.ctrim()

*3、onClickSelect=点中text框的时候,选中其中的文字

使用方法:在input位置加上 onClick/onFocus="onClickSelect();" 即可

*

*动态输入类

使用方法:在input位置加上 即可

*1、TextOnly=只允许输入字母、数字、下划线

*2、TextNumOnly=只允许输入字母、数字

*3、NumOnly=只允许输入数字

*4、TelOnly=只能输入电话、"-"、"("、")"

*

*表单验证类

*1、isAccount=是否帐号(由字母、数字、下划线组成){有两种选择,一种有长度限制}

*2、isChinese=是否中文(由中文、数字、字母组成)

*3、ismail=是否Email

*4、isip=是否ip

*5、PhoneCheck=电话号码检测(电话和手机)

*6、isMobile=手机号码检测

*7、isDate=是否短日期

*8、isTime=是否时间

*9、isDateTime=是否长日期

*

*其它函数

*1、changeFrame=改变Frame大小

*2、CheckAll=全选/全不选

*3、onKeyDownDefault=回车->转->Tab

*4、admin_Size=改变TextArea输入框高度

*

*其它验证正则表达式

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

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

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

*Currency : /^/d+(/./d+)?$/

*Number : /^/d+$/

*Zip : /^[1-9]/d{5}$/

*QQ : /^[1-9]/d{4,8}$/

*Integer : /^[-/+]?/d+$/

*Double : /^[-/+]?/d+(/./d+)?$/

*English : /^[A-Za-z]+$/

*Chinese : /^[/u0391-/uFFE5]+$/

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

*Username : /^[a-z]/w{3,}$/i(用户名验证,带长度限制)

*/

//========================================================================常用函数

//--------------------------------除去前后空格

String.prototype.trim = function()

{

//用正则表达式将前后空格用空字符串替代。

return this.replace(/(^/s*)|(/s*$)/g, "");

}

//--------------------------------除去中间空格

String.prototype.ctrim = function()

{

//用正则表达式将中间空格用空字符串替代。

return this.replace(//s/g,'');

}

//--------------------------------点中text框的时候,选中其中的文字

/**

*方法名:onClickSelect

*描述:点中text框的时候,选中其中的文字

*输入:空

*输出:空

**/

function onClickSelect()

{

var obj = document.activeElement;

if(obj.tagName == "TEXTAREA")

{

obj.select();

}

if(obj.tagName == "INPUT" )

{

if(obj.type == "text")

obj.select();

}

}

/*

* 判断是否为数字,是则返回true,否则返回false

*/

代码

function f_check_number(obj)

{

if (/^/d+$/.test(obj.value))

{

return true;

}

else

{

f_alert(obj,"请输入数字");

return false;

}

}

/*

* 判断是否为自然数,是则返回true,否则返回false

*/

代码

function f_check_naturalnumber(obj)

{

var s = obj.value;

if (/^[0-9]+$/.test( s ) && (s > 0))

{

return true;

}

else

{

f_alert(obj,"请输入自然数");

return false;

}

}

/*

* 判断是否为整数,是则返回true,否则返回false

*/

代码

function f_check_integer(obj)

{

if (/^(/+|-)?/d+$/.test( obj.value ))

{

return true;

}

else

{

f_alert(obj,"请输入整数");

return false;

}

}

/*

* 判断是否为实数,是则返回true,否则返回false

*/

代码

function f_check_float(obj)

{

if (/^(/+|-)?/d+($|/./d+$)/.test( obj.value ))

{

return true;

}

else

{

f_alert(obj,"请输入实数");

return false;

}

}

//========================================================================动态输入类函数

//--------------------------------只允许输入字母、数字、下划线(动态判断)

function TextOnly(){

var i= window.event.keyCode

//8=backspace

//9=tab

//37=left arrow

//39=right arrow

//46=delete

//48~57=0~9

//97~122=a~z

//65~90=A~Z

//95=_

if (!((i<=57 && i>=48)||(i>=97 && i<=122)||(i>=65 && i<=90)||(i==95)||(i==8)||(i==9)||(i==37)||(i==39)||(i==46)))

{

//window.event.keyCode=27;

event.returnValue=false

return false;

}

else

{

//window.event.keyCode=keycode;

return true;

}

}

//--------------------------------只允许输入字母、数字(动态判断)

function TextNumOnly(){

var i= window.event.keyCode

//8=backspace

//9=tab

//37=left arrow

//39=right arrow

//46=delete

//48~57=0~9

//97~122=a~z

//65~90=A~Z

//95=_

if (!((i<=57 && i>=48)||(i>=97 && i<=122)||(i>=65 && i<=90)||(i==8)||(i==9)||(i==37)||(i==39)||(i==46)))

{

//window.event.keyCode=27;

event.returnValue=false

return false;

}

else

{

//window.event.keyCode=keycode;

return true;

}

}

//--------------------------------只允许输入数字(动态判断)

/**

*方法名:NumOnly()

*描述:只允许输入数字

*输入:空

*输出:空

**/

function NumOnly(){

var i= window.event.keyCode

//8=backspace

//9=tab

//37=left arrow

//39=right arrow

//46=delete

//48~57=0~9

if ((i>57 || i<48) && (i!=8) && (i!=9) && (i!= 37) && (i!=39) && (i!=46))

{

window.event.keyCode=27;

return false;

}

else

{

//window.event.keyCode=keycode;

return true;

}

}

//--------------------------------只能输入电话号码或者"-"或者"("或者")"

function TelOnly(){

var i= window.event.keyCode

//8=backspace

//9=tab

//37=left arrow

//39=right arrow

//46=delete

//48~57=0~9

//40=(

//41=)

//45=-

//32=空格

if ((i>57 || i<48) && (i!=8) && (i!=9) && (i!= 37) && (i!=39) && (i!=46) && (i!=40) && (i!=41) && (i!=45) && (i!=32))

{

window.event.keyCode=27;

return false;

}

else

{

//window.event.keyCode=keycode;

return true;

}

}

//========================================================================动态输入函数(结束)

//========================================================================表单验证函数

//--------------------------------判断用户名(判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母)

function isAccount(str)

{

if(/^[a-z]/w{3,}$/i.test(str)) //用户名由字母和数字、下划线组成,且只能以字母开头,且长度最小为4位

//if(/^([a-zA-z]{1})([/w]*)$/g.test(str))//用户名由字母和数字、下划线组成,且只能以字母开头

{

//alert(');

return true;

}

else

return false;

}

//--------------------------------判断只能输入中文、数字、字母

function isChinese(str)

{

var pattern = /^[0-9a-zA-Z/u4e00-/u9fa5]+$/i;

if (pattern.test(str))

{

return true;

}

else

{

//alert("只能包含中文、字母、数字");

return false;

}

}

//--------------------------------Email格式判断

function ismail(email)

{

return(new RegExp(/^/w+((-/w+)|(/./w+))*/@[A-Za-z0-9]+((/.|-)[A-Za-z0-9]+)*/.[A-Za-z0-9]+$/).test(email));

}

//--------------------------------IP格式判断

function isip(s)

{

var check=function(v)

{

try

{

return (v<=255 && v>=0)

}

catch(x)

{

return false

}

};

var re=s.split(".")

return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) &&

}

//--------------------------------判断电话号码/手机号码

function PhoneCheck(s)

{

var str=s;

var reg=/(^[0-9]{3,4}/-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^/([0-9]{3,4}/)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/;

//alert(reg.test(str));

return reg.test(str);

}

//--------------------------------判断手机号码

function isMobile(str)

{

var reg=/^0{0,1}13[0-9]{9}$/;

return reg.test(str);

}

//--------------------------------短日期(如2003-12-05)

function isDate(str)

{

var r = str.match(/^(/d{1,4})(-|//)(/d{1,2})/2(/d{1,2})$/);

if(r==null)

{

//alert('输入的信息不是日期格式(YYYY:MM:DD)');

return false;

}

if (r[1]<1 || r[3]<1 || r[3]-1>12 || r[4]<1 || r[4]>31)

{

//alert("日期格式(YYYY:MM:DD)不对");

return false

}

var d= new Date(r[1], r[3]-1, r[4]);

return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);

}

var a =

if (a == null)

{

//alert('输入的信息不是时间格式(HH:MM:SS)');

return false;

}

if (a[1]>23 || a[1]<0 || a[3]>60 || a[3]<0 || a[4]>60 || a[4]<0)

{

//alert("时间格式(0<=HH<23:0<=MM<60:0<=SS<60)不对");

return false

}

return true;

}

var reg =

var r = str.match(reg);

if(r==null)

{

//alert('输入的信息不是时间格式(YYYY-MM-DD

return false;

}

var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);

return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);

}

//========================================================================表单验证函数(结束)

//========================================================================其它函数

//用于改变当前后台框架的尺寸(参数:对象,关闭时显示图片,打开时显示图片,关闭显示尺寸,打开显示尺寸)

// 例:this,'../images/openout.gif','../images/setby.gif','top.frame.cols=/'0,*/'','top.frame.cols=/'150,*/''

function changeFrame(ob,s1,s2,evalString1,evalString2)

{

if (ob.alt == "收起")

{

ob.alt = "展开";

ob.src = s1;

eval(evalString1);

}

else

{

ob.alt = "收起";

ob.src = s2;

eval(evalString2);

}

}

//用于全选/全不选(参数form=表单)

function CheckAll(form)

{

for (var i=0;i<form.length;i++)

{

var e = form
;

if (e.type=="checkbox")

{

if (e.name!="AllChoice")

{

if (form.AllChoice.checked==true)

{

if (e.disabled==false) e.checked=true;

}

else

{

if (e.disabled==false) e.checked=false;

}

}

}

}

}

//--------------------------------用户在button以外的页面元素中按回车-->转换-->按tab键

/**

*方法名:onKeyDownDefault

*描述:用户在button以外的页面元素中按回车,转换为按tab键

*输入:空

*输出:空

**/

function onKeyDownDefault()

{

if (window.event.keyCode == 13 && window.event.ctrlKey == false && window.event.altKey == false){

if (window.event.srcElement.type != "button")

window.event.keyCode = 9;

}

else{

return true;

}

}

// 修改编辑栏高度

function admin_Size(num,objname)

{

var obj=document.getElementById(objname)

if (parseInt(obj.rows)+num>=3) {

obj.rows = parseInt(obj.rows) + num;

}

if (num>0)

{

obj.width="90%";

}

}

//取得字符串中中文/汉字的个数

function getChineseNum(obstring)

{

var pattern = /^[/u4e00-/u9fa5]+$/i;

var maxL,minL;

maxL = obstring.length; //原始长度

obstring = obstring.replace(pattern,"");

minL = obstring.length; //处理后的长度

return (maxL - minL)

}

//========================================================================其它函数(结束)

验证 是否是 数字

<html xmlns="
http://www.w3.org/1999/xhtml">

<body>

<script language="JavaScript">

function check(formname){

if (isNaN(document.all['price'].value)){

alert('请输入数字');

document.all["price"].focus();

return false;

}

else{

if(document.all["price"].value !="")

{

alert('是数字,通过');

return true;

}

else

{

alert('空直,');

return true;

}

}

}

</script>

<form method="post" action="">

<input type="text" >

<input type="submit" value="提交" >

<input type ="text" />

</form>

</body>

</html>



原文地址:http://blog.csdn.net/h475410885/article/details/4155413

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: