1JS正則表達(dá)式 代碼
"^\\d+$" //非負(fù)整數(shù)(正整數(shù) + 0)
"^[0-9]*[1-9][0-9]*$" //正整數(shù)
"^((-\\d+)|(0+))$" //非正整數(shù)(負(fù)整數(shù) + 0)
"^-[0-9]*[1-9][0-9]*$" //負(fù)整數(shù)
"^-?\\d+$" //整數(shù)
"^\\d+(\\.\\d+)?$" //非負(fù)浮點(diǎn)數(shù)(正浮點(diǎn)數(shù) + 0)
"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"
//正浮點(diǎn)數(shù)
"^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$" //非正浮點(diǎn)數(shù)(負(fù)浮點(diǎn)數(shù) + 0)
"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"
//負(fù)浮點(diǎn)數(shù)
"^(-?\\d+)(\\.\\d+)?$" //浮點(diǎn)數(shù)
"^[A-Za-z]+$" //由26個(gè)英文字母組成的字符串
"^[A-Z]+$" //由26個(gè)英文字母的大寫組成的字符串
"^[a-z]+$" //由26個(gè)英文字母的小寫組成的字符串
"^[A-Za-z0-9]+$" //由數(shù)字和26個(gè)英文字母組成的字符串
"^\\w+$" //由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串
"^[\\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- .\/?%&=]*)?/;//匹配網(wǎng)址
//var pattern=/http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/;//匹配網(wǎng)址
//var pattern=/^[\u4e00-\u9fa5]$/;//匹配中文字符(單個(gè)漢字)
//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]$/;//匹配雙字節(jié)字符(包括漢字在內(nèi)的單個(gè)字符)
//var pattern=/^<(.*)>.*<\/\1>|<(.*) \/>$/;//匹配HTML標(biāo)記
//var pattern=/<(\S*?)[^>]*>.*?<\/\1>|<.*? \/>/;//匹配HTML標(biāo)記
//var pattern=/^\n[\s| ]*\r$/;//可以用來刪除空白行
//var pattern=/^(\s*)|(\s*)$///可以用來刪除行首尾的空白字符(包括空格、制表符、換頁符等等)
//var pattern=/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/;//字母開頭,限制5-16字節(jié),允許字母數(shù)字下劃線
//var pattern=/^\d{3}-\d{8}|\d{4}-\d{7,8}$/;//匹配國內(nèi)電話 如:0739-8888888(8) 或 020-88888888
//var pattern=/^[1-9][0-9]{4,}$/;//匹配QQ號碼 騰訊QQ號從10000開始
//var pattern=/^\d+\.\d+\.\d+\.\d+$/;//匹配IP地址
/*******************匹配特定數(shù)字*********************/
//var pattern=/^(\w)\1{4,}*$/;//匹配整數(shù)
//var pattern=/-?[1-9]\d*$/;//匹配整數(shù)
//var pattern=/^[1-9]\d*$/;//匹配正整數(shù)
//var pattern=/^-[1-9]\d*$/;//匹配負(fù)整數(shù)
//var pattern=/^[1-9]\d*|0$/;//匹配非負(fù)整數(shù)
//var pattern=/^-[1-9]\d*|0$/;//匹配非正整數(shù)
//var pattern=/^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$/;//匹配正浮點(diǎn)數(shù)
//var pattern=/^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$/;//匹配負(fù)浮點(diǎn)數(shù)
//var pattern=/^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$/;//匹配浮點(diǎn)數(shù)
//var pattern=/^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$/;//匹配非負(fù)浮點(diǎn)數(shù)
//var pattern=/^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$/;//匹配非正浮點(diǎn)數(shù)
/********************匹配特定字符串*****************/
//var pattern=/^[A-Za-z]+$/;//匹配由26個(gè)英文字母組成的字符串
//var pattern=/^[A-Z]+$/;//匹配由26個(gè)英文字母的大寫組成的字符串
//var pattern=/^[a-z]+$/;//匹配由26個(gè)英文字母的小寫組成的字符串
//var pattern=/^[A-Za-z0-9]+$/;//匹配由數(shù)字和26個(gè)英文字母組成的字符串
//var pattern=/^\w+$/;//匹配由數(shù)字、26個(gè)英文字母或者下劃線組成的字符串
//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,''))"
'限制只能輸入數(shù)字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
'限制只能輸入數(shù)字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
%>
===================================================
/*
*前臺JS表單腳本(輸入&驗(yàn)證)庫
*注:請使用本JS表單腳本(輸入&驗(yàn)證)庫的同時(shí)保留此版權(quán)信息,此是作者花了時(shí)間去收集整理以及編寫的,謝謝!
* 此版本采用GB2312編碼格式,請?jiān)谑褂们斑M(jìn)行字符編碼轉(zhuǎn)換,以保證能夠正常使用
*/
/*
*以下是庫函數(shù)目錄及使用說明:
*
*常用
*1、Trim=去除字符串前后空格
使用方法:String.trim()
*2、ctrim=去除字符串中間空格
使用方法:String.ctrim()
*3、onClickSelect=點(diǎn)中text框的時(shí)候,選中其中的文字
使用方法:在input位置加上 onClick/onFocus="onClickSelect();" 即可
*
*動(dòng)態(tài)輸入類
使用方法:在input位置加上 即可
*1、TextOnly=只允許輸入字母、數(shù)字、下劃線
*2、TextNumOnly=只允許輸入字母、數(shù)字
*3、NumOnly=只允許輸入數(shù)字
*4、TelOnly=只能輸入電話、"-"、"("、")"
*
*表單驗(yàn)證類
*1、isAccount=是否帳號(由字母、數(shù)字、下劃線組成){有兩種選擇,一種有長度限制}
*2、isChinese=是否中文(由中文、數(shù)字、字母組成)
*3、ismail=是否Email
*4、isip=是否ip
*5、PhoneCheck=電話號碼檢測(電話和手機(jī))
*6、isMobile=手機(jī)號碼檢測
*7、isDate=是否短日期
*8、isTime=是否時(shí)間
*9、isDateTime=是否長日期
*
*其它函數(shù)
*1、changeFrame=改變Frame大小
*2、CheckAll=全選/全不選
*3、onKeyDownDefault=回車->轉(zhuǎn)->Tab
*4、admin_Size=改變TextArea輸入框高度
*
*其它驗(yàn)證正則表達(dá)式
*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(用戶名驗(yàn)證,帶長度限制)
*/
//========================================================================常用函數(shù)
//--------------------------------除去前后空格
String.prototype.trim = function()
{
//用正則表達(dá)式將前后空格用空字符串替代。
return this.replace(/(^\s*)|(\s*$)/g, "");
}
//--------------------------------除去中間空格
String.prototype.ctrim = function()
{
//用正則表達(dá)式將中間空格用空字符串替代。
return this.replace(/\s/g,'');
}
//--------------------------------點(diǎn)中text框的時(shí)候,選中其中的文字
/**
*方法名:onClickSelect
*描述:點(diǎn)中text框的時(shí)候,選中其中的文字
*輸入:空
*輸出:空
**/
function onClickSelect()
{
var obj = document.activeElement;
if(obj.tagName == "TEXTAREA")
{
obj.select();
}
if(obj.tagName == "INPUT" )
{
if(obj.type == "text")
obj.select();
}
}
/*
* 判斷是否為數(shù)字,是則返回true,否則返回false
*/
代碼
function f_check_number(obj)
{
if (/^\d+$/.test(obj.value))
{
return true;
}
else
{
f_alert(obj,"請輸入數(shù)字");
return false;
}
}
/*
* 判斷是否為自然數(shù),是則返回true,否則返回false
*/
代碼
function f_check_naturalnumber(obj)
{
var s = obj.value;
if (/^[0-9]+$/.test( s ) && (s > 0))
{
return true;
}
else
{
f_alert(obj,"請輸入自然數(shù)");
return false;
}
}
/*
* 判斷是否為整數(shù),是則返回true,否則返回false
*/
代碼
function f_check_integer(obj)
{
if (/^(\+|-)?\d+$/.test( obj.value ))
{
return true;
}
else
{
f_alert(obj,"請輸入整數(shù)");
return false;
}
}
/*
* 判斷是否為實(shí)數(shù),是則返回true,否則返回false
*/
代碼
function f_check_float(obj)
{
if (/^(\+|-)?\d+($|\.\d+$)/.test( obj.value ))
{
return true;
}
else
{
f_alert(obj,"請輸入實(shí)數(shù)");
return false;
}
}
//========================================================================動(dòng)態(tài)輸入類函數(shù)
//--------------------------------只允許輸入字母、數(shù)字、下劃線(動(dòng)態(tài)判斷)
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;
}
}
//--------------------------------只允許輸入字母、數(shù)字(動(dòng)態(tài)判斷)
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;
}
}
//--------------------------------只允許輸入數(shù)字(動(dòng)態(tài)判斷)
/**
*方法名:NumOnly()
*描述:只允許輸入數(shù)字
*輸入:空
*輸出:空
**/
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;
}
}
//========================================================================動(dòng)態(tài)輸入函數(shù)(結(jié)束)
//========================================================================表單驗(yàn)證函數(shù)
//--------------------------------判斷用戶名(判斷字符由字母和數(shù)字,下劃線,點(diǎn)號組成.且開頭的只能是下劃線和字母)
function isAccount(str)
{
if(/^[a-z]\w{3,}$/i.test(str)) //用戶名由字母和數(shù)字、下劃線組成,且只能以字母開頭,且長度最小為4位
//if(/^([a-zA-z]{1})([\w]*)$/g.test(str))//用戶名由字母和數(shù)字、下劃線組成,且只能以字母開頭
{
//alert(');
return true;
}
else
return false;
}
//--------------------------------判斷只能輸入中文、數(shù)字、字母
function isChinese(str)
{
var pattern = /^[0-9a-zA-Z\u4e00-\u9fa5]+$/i;
if (pattern.test(str))
{
return true;
}
else
{
//alert("只能包含中文、字母、數(shù)字");
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]) &&
}
//--------------------------------判斷電話號碼/手機(jī)號碼
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);
}
//--------------------------------判斷手機(jī)號碼
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('輸入的信息不是時(shí)間格式(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("時(shí)間格式(0<=HH<23:0<=MM<60:0<=SS<60)不對");
return false
}
return true;
}
var reg =
var r = str.match(reg);
if(r==null)
{
//alert('輸入的信息不是時(shí)間格式(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]);
}
//========================================================================表單驗(yàn)證函數(shù)(結(jié)束)
//========================================================================其它函數(shù)
//用于改變當(dāng)前后臺框架的尺寸(參數(shù):對象,關(guān)閉時(shí)顯示圖片,打開時(shí)顯示圖片,關(guān)閉顯示尺寸,打開顯示尺寸)
// 例: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);
}
}
//用于全選/全不選(參數(shù)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以外的頁面元素中按回車-->轉(zhuǎn)換-->按tab鍵
/**
*方法名:onKeyDownDefault
*描述:用戶在button以外的頁面元素中按回車,轉(zhuǎn)換為按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%";
}
}
//取得字符串中中文/漢字的個(gè)數(shù)
function getChineseNum(obstring)
{
var pattern = /^[\u4e00-\u9fa5]+$/i;
var maxL,minL;
maxL = obstring.length; //原始長度
obstring = obstring.replace(pattern,"");
minL = obstring.length; //處理后的長度
return (maxL - minL)
}
//========================================================================其它函數(shù)(結(jié)束)
驗(yàn)證 是否是 數(shù)字
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<script language="JavaScript">
function check(formname){
if (isNaN(document.all['price'].value)){
alert('請輸入數(shù)字');
document.all["price"].focus();
return false;
}
else{
if(document.all["price"].value !="")
{
alert('是數(shù)字,通過');
return true;
}
else
{
alert('空直,');
return true;
}
}
}
</script>
<form method="post" action="">
<input type="text" >
<input type="submit" value="提交" >
<input type ="text" />
</form>
</body>
</html>