原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章
原始出處 、作者信息和本聲明。否則將追究法律責任。
http://zhanyah.blog.51cto.com/2821907/791581
//功能: 1)去除字符串前后所有空格
// 2)去除字符串中所有空格(包括中間空格,需要設置第2個參數為:g)
function Trim(str,is_global)
{
var result;
result = str.replace(/(^\s+)|(\s+$)/g,"");
if(is_global.toLowerCase()=="g")
result = result.replace(/\s/g,"");
return result;
}
//功能:去除字符串的左空格
String.prototype.LTrim = function()
{
return this.replace(/^\s+/,"");
}
//功能:去除字符串的右空格
String.prototype.RTrim = function()
{
return this.replace(/\s+$/,"");
}
//功能:判斷是否為數字,是則返回true,否則返回false
function check_number(str)
{
//isNaN(str)
if (/^\d+$/.test(str))
{
return true;
}
else
{
alert("請輸入數字");
return false;
}
}
// 2)去除字符串中所有空格(包括中間空格,需要設置第2個參數為:g)
function Trim(str,is_global)
{
var result;
result = str.replace(/(^\s+)|(\s+$)/g,"");
if(is_global.toLowerCase()=="g")
result = result.replace(/\s/g,"");
return result;
}
//功能:去除字符串的左空格
String.prototype.LTrim = function()
{
return this.replace(/^\s+/,"");
}
//功能:去除字符串的右空格
String.prototype.RTrim = function()
{
return this.replace(/\s+$/,"");
}
//功能:判斷是否為數字,是則返回true,否則返回false
function check_number(str)
{
//isNaN(str)
if (/^\d+$/.test(str))
{
return true;
}
else
{
alert("請輸入數字");
return false;
}
}
常用的正則表達式主要有以下幾種:
匹配中文字符的正則表達式: [\u4e00-\u9fa5]
評注:匹配中文還真是個頭疼的事,有了這個表達式就好辦了哦
獲取日期正則表達式:\d{4}[年|\-|\.]\d{\1-\12}[月|\-|\.]\d{\1-\31}日?
評注:可用來匹配大多數年月日信息。
匹配雙字節字符(包括漢字在內):[^\x00-\xff]
評注:可以用來計算字符串的長度(一個雙字節字符長度計2,ASCII字符計1)
匹配空白行的正則表達式:\n\s*\r
評注:可以用來刪除空白行
匹配HTML標記的正則表達式:<(\S*?)[^>]*>.*?</>|<.*? />
評注:網上流傳的版本太糟糕,上面這個也僅僅能匹配部分,對於復雜的嵌套標記依舊無能為力
匹配首尾空白字符的正則表達式:^\s*|\s*$
評注:可以用來刪除行首行尾的空白字符(包括空格、制表符、換頁符等等),非常有用的表達式
匹配Email地址的正則表達式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
評注:表單驗證時很實用
匹配網址URL的正則表達式:[a-zA-z]+://[^\s]*
評注:網上流傳的版本功能很有限,上面這個基本可以滿足需求
匹配帳號是否合法(字母開頭,允許5-16字節,允許字母數字下划線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
評注:表單驗證時很實用
匹配國內電話號碼:\d{4}-\d{7}|\d{3}-\d{8}
評注:匹配形式如 0511 - 4405222 或 021 - 87888822
匹配騰訊QQ號:[1-9][0-9]\{4,\}
評注:騰訊QQ號從1000 0 開始
匹配中國郵政編碼:[1-9]\d{5}(?!\d)
評注:中國郵政編碼為6位數字
匹配身份證:\d{17}[\d|X]|\d{15}
評注:中國的身份證為15位或18位
匹配ip地址:((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)。
評注:提取ip地址時有用
匹配特定數字:
^[1-9]\d*$ //匹配正整數
^-[1-9]\d*$ //匹配負整數
^-?[1-9]\d*$ //匹配整數
^[1-9]\d*|0$ //匹配非負整數(正整數 + 0)
^-[1-9]\d*|0$ //匹配非正整數(負整數 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮點數
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配負浮點數
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮點數
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ //匹配非負浮點數(正浮點數 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //匹配非正浮點數(負浮點數 + 0)
評注:處理大量數據時有用,具體應用時注意修正
匹配特定字符串:
^[A-Za-z]+$ //匹配由26個英文字母組成的字符串
^[A-Z]+$ //匹配由26個英文字母的大寫組成的字符串
^[a-z]+$ //匹配由26個英文字母的小寫組成的字符串
^[A-Za-z0-9]+$ //匹配由數字和26個英文字母組成的字符串
^\w+$ //匹配由數字、26個英文字母或者下划線組成的字符串
評注:最基本也是最常用的一些表達式
Function IsRegu(Regu,s)
'正則表達式校驗
If Regu="" Then
Exit Function
End if
Dim Re,Sre
Set Re = New RegExp
Re.Pattern = Regu
Sre = Re.Test(s)
If Sre = True Then
IsRegu = True
Else
IsRegu = False
End If
End Function
tmp=" "
if (IsRegu("\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*",tmp )) =false then
msgbox "E-mail地址不合法 !"
FieldCheck#N=false
end if
不同的語言(如PHP和JAVA)、相同語言的不同類庫(如來自Sun的Java Regular Expression類庫跟Apache Jakarta的正則表達式類庫)間,用法會有所差別,在使用的時候,要注意這些差別。
本文出自 “成長的記憶錄” 博客,請務必保留此出處http://zhanyah.blog.51cto.com/2821907/791581