一、原生JavaScript實現字符串長度截取javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
function
cutstr(str, len) {
var
temp;
var
icount = 0;
var
patrn = /[^\x00-\xff]/;
var
strre =
""
;
for
(
var
i = 0; i < str.length; i++) {
if
(icount < len - 1) {
temp = str.substr(i, 1);
if
(patrn.exec(temp) ==
null
) {
icount = icount + 1
}
else
{
icount = icount + 2
}
strre += temp
}
else
{
break
}
}
return
strre +
"..."
}
|
二、原生JavaScript獲取域名主機css
1
2
3
4
5
6
7
8
9
10
11
12
|
function
getHost(url) {
var
host =
"null"
;
if
(
typeof
url ==
"undefined"
||
null
== url) {
url = window.location.href;
}
var
regex = /^\w+\:\/\/([^\/]*).*/;
var
match = url.match(regex);
if
(
typeof
match !=
"undefined"
&&
null
!= match) {
host = match[1];
}
return
host;
}
|
三、原生JavaScript清除空格html
1
2
3
4
|
String.prototype.trim =
function
() {
var
reExtraSpace = /^\s*(.*?)\s+$/;
return
this
.replace(reExtraSpace,
"$1"
)
}
|
四、原生JavaScript替換所有java
1
2
3
|
String.prototype.replaceAll =
function
(s1, s2) {
return
this
.replace(
new
RegExp(s1,
"gm"
), s2)
}
|
五、原生JavaScript轉義html標籤android
1
2
3
|
function
HtmlEncode(text) {
return
text.replace(/&/g,
'&'
).replace(/\"/g,
'"'
).replace(/</g,
'<'
).replace(/>/g,
'>'
)
}
|
六、原生JavaScript還原html標籤c++
1
2
3
|
function
HtmlDecode(text) {
return
text.replace(/&/g,
'&'
).replace(/"/g,
'\"'
).replace(/</g,
'<'
).replace(/>/g,
'>'
)
}
|
七、原生JavaScript時間日期格式轉換git
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
Date.prototype.Format =
function
(formatStr) {
var
str = formatStr;
var
Week = [
'日'
,
'一'
,
'二'
,
'三'
,
'四'
,
'五'
,
'六'
];
str = str.replace(/yyyy|YYYY/,
this
.getFullYear());
str = str.replace(/yy|YY/, (
this
.getYear() % 100) > 9 ? (
this
.getYear() % 100).toString() :
'0'
+ (
this
.getYear() % 100));
str = str.replace(/MM/, (
this
.getMonth() + 1) > 9 ? (
this
.getMonth() + 1).toString() :
'0'
+ (
this
.getMonth() + 1));
str = str.replace(/M/g, (
this
.getMonth() + 1));
str = str.replace(/w|W/g, Week[
this
.getDay()]);
str = str.replace(/dd|DD/,
this
.getDate() > 9 ?
this
.getDate().toString() :
'0'
+
this
.getDate());
str = str.replace(/d|D/g,
this
.getDate());
str = str.replace(/hh|HH/,
this
.getHours() > 9 ?
this
.getHours().toString() :
'0'
+
this
.getHours());
str = str.replace(/h|H/g,
this
.getHours());
str = str.replace(/mm/,
this
.getMinutes() > 9 ?
this
.getMinutes().toString() :
'0'
+
this
.getMinutes());
str = str.replace(/m/g,
this
.getMinutes());
str = str.replace(/ss|SS/,
this
.getSeconds() > 9 ?
this
.getSeconds().toString() :
'0'
+
this
.getSeconds());
str = str.replace(/s|S/g,
this
.getSeconds());
return
str
}
|
八、原生JavaScript判斷是否爲數字類型正則表達式
1
2
3
4
5
6
7
8
|
function
isDigit(value) {
var
patrn = /^[0-9]*$/;
if
(patrn.exec(value) ==
null
|| value ==
""
) {
return
false
}
else
{
return
true
}
}
|
九、原生JavaScript設置cookie值sql
1
2
3
4
5
6
7
8
9
|
function
setCookie(name, value, Hours) {
var
d =
new
Date();
var
offset = 8;
var
utc = d.getTime() + (d.getTimezoneOffset() * 60000);
var
nd = utc + (3600000 * offset);
var
exp =
new
Date(nd);
exp.setTime(exp.getTime() + Hours * 60 * 60 * 1000);
document.cookie = name +
"="
+ escape(value) +
";path=/;expires="
+ exp.toGMTString() +
";domain=360doc.com;"
}
|
十、原生JavaScript獲取cookie值chrome
1
2
3
4
5
|
function
getCookie(name) {
var
arr = document.cookie.match(
new
RegExp(
"(^| )"
+ name +
"=([^;]*)(;|$)"
));
if
(arr !=
null
)
return
unescape(arr[2]);
return
null
}
|
十一、原生JavaScript加入收藏夾
1
2
3
4
5
6
7
8
9
10
11
|
function
AddFavorite(sURL, sTitle) {
try
{
window.external.addFavorite(sURL, sTitle)
}
catch
(e) {
try
{
window.sidebar.addPanel(sTitle, sURL,
""
)
}
catch
(e) {
alert(
"加入收藏失敗,請使用Ctrl+D進行添加"
)
}
}
}
|
十二、原生JavaScript設爲首頁
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
function
setHomepage() {
if
(document.all) {
document.body.style.behavior =
'url(#default#homepage)'
;
document.body.setHomePage(
''
)
}
else
if
(window.sidebar) {
if
(window.netscape) {
try
{
netscape.security.PrivilegeManager.enablePrivilege(
"UniversalXPConnect"
)
}
catch
(e) {
alert(
"該操做被瀏覽器拒絕,若是想啓用該功能,請在地址欄內輸入 about:config,而後將項 signed.applets.codebase_principal_support 值該爲true"
)
}
}
var
prefs = Components.classes[
'@mozilla.org/preferences-service;1'
].getService(Components.interfaces.nsIPrefBranch);
prefs.setCharPref(
'browser.startup.homepage'
,
''
)
}
}
|
1三、原生JavaScript判斷IE6
1
2
3
4
5
6
7
|
var
ua = navigator.userAgent.toLowerCase();
var
isIE6 = ua.indexOf(
"msie 6"
) > -1;
if
(isIE6) {
try
{
document.execCommand(
"BackgroundImageCache"
,
false
,
true
)
}
catch
(e) {}
}
|
1四、原生JavaScript加載樣式文件
1
2
3
4
5
6
7
8
9
10
11
12
|
function
LoadStyle(url) {
try
{
document.createStyleSheet(url)
}
catch
(e) {
var
cssLink = document.createElement(
'link'
);
cssLink.rel =
'stylesheet'
;
cssLink.type =
'text/css'
;
cssLink.href = url;
var
head = document.getElementsByTagName(
'head'
)[0];
head.appendChild(cssLink)
}
}
|
1五、原生JavaScript返回腳本內容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
function
evalscript(s) {
if
(s.indexOf(
'<script'
) == -1)
return
s;
var
p = /<script[^\>]*?>([^\x00]*?)<\/script>/ig;
var
arr = [];
while
(arr = p.exec(s)) {
var
p1 = /<script[^\>]*?src=\"([^\>]*?)\"[^\>]*?(reload=\"1\")?(?:charset=\"([\w\-]+?)\")?><\/script>/i;
var
arr1 = [];
arr1 = p1.exec(arr[0]);
if
(arr1) {
appendscript(arr1[1],
''
, arr1[2], arr1[3]);
}
else
{
p1 = /<script(.*?)>([^\x00]+?)<\/script>/i;
arr1 = p1.exec(arr[0]);
appendscript(
''
, arr1[2], arr1[1].indexOf(
'reload='
) != -1);
}
}
return
s;
}
|
1六、原生JavaScript清除腳本內容
1
2
3
|
function
stripscript(s) {
return
s.replace(/<script.*?>.*?<\/script>/ig,
''
);
}
|
1七、原生JavaScript動態加載腳本文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
function
appendscript(src, text, reload, charset) {
var
id = hash(src + text);
if
(!reload && in_array(id, evalscripts))
return
;
if
(reload && $(id)) {
$(id).parentNode.removeChild($(id));
}
evalscripts.push(id);
var
scriptNode = document.createElement(
"script"
);
scriptNode.type =
"text/javascript"
;
scriptNode.id = id;
scriptNode.charset = charset ? charset : (BROWSER.firefox ? document.characterSet : document.charset);
try
{
if
(src) {
scriptNode.src = src;
scriptNode.onloadDone =
false
;
scriptNode.onload =
function
() {
scriptNode.onloadDone =
true
;
JSLOADED[src] = 1;
};
scriptNode.onreadystatechange =
function
() {
if
((scriptNode.readyState ==
'loaded'
|| scriptNode.readyState ==
'complete'
) && !scriptNode.onloadDone) {
scriptNode.onloadDone =
true
;
JSLOADED[src] = 1;
}
};
}
else
if
(text){
scriptNode.text = text;
}
document.getElementsByTagName(
'head'
)[0].appendChild(scriptNode);
}
catch
(e) {}
}
|
1八、原生JavaScript返回按ID檢索的元素對象
1
2
3
|
function
$(id) {
return
!id ?
null
: document.getElementById(id);
}
|
1九、原生JavaScript返回瀏覽器版本內容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
function
browserVersion(types) {
var
other = 1;
for
(i
in
types) {
var
v = types[i] ? types[i] : i;
if
(USERAGENT.indexOf(v) != -1) {
var
re =
new
RegExp(v +
'(\\/|\\s)([\\d\\.]+)'
,
'ig'
);
var
matches = re.exec(USERAGENT);
var
ver = matches !=
null
? matches[2] : 0;
other = ver !== 0 && v !=
'mozilla'
? 0 : other;
}
else
{
var
ver = 0;
}
eval(
'BROWSER.'
+ i +
'= ver'
);
}
BROWSER.other = other;
}
|
20、原生JavaScript元素顯示的通用方法
1
2
3
4
5
6
7
8
9
10
11
|
function
$(id) {
return
!id ?
null
: document.getElementById(id);
}
function
display(id) {
var
obj = $(id);
if
(obj.style.visibility) {
obj.style.visibility = obj.style.visibility ==
'visible'
?
'hidden'
:
'visible'
;
}
else
{
obj.style.display = obj.style.display ==
''
?
'none'
:
''
;
}
}
|
2一、原生JavaScript中有insertBefore方法,惋惜卻沒有insertAfter方法?用以下函數實現
1
2
3
4
5
6
7
8
|
function
insertAfter(newChild,refChild){
var
parElem=refChild.parentNode;
if
(parElem.lastChild==refChild){
refChild.appendChild(newChild);
}
else
{
parElem.insertBefore(newChild,refChild.nextSibling);
}
}
|
2二、原生JavaScript中兼容瀏覽器綁定元素事件
1
2
3
4
5
6
7
|
function
addEventSamp(obj,evt,fn){
if
(obj.addEventListener) {
obj.addEventListener(evt, fn,
false
);
}
else
if
(obj.attachEvent){
obj.attachEvent(
'on'
+evt,fn);
}
}
|
2三、原生JavaScript光標停在文字的後面,文本框得到焦點時調用
1
2
3
4
5
6
7
|
function
focusLast(){
var
e = event.srcElement;
var
r =e.createTextRange();
r.moveStart(
'character'
,e.value.length);
r.collapse(
true
);
r.select();
}
|
2四、原生JavaScript檢驗URL連接是否有效
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
function
getUrlState(URL){
var
xmlhttp =
new
ActiveXObject(
"microsoft.xmlhttp"
);
xmlhttp.Open(
"GET"
,URL,
false
);
try
{
xmlhttp.Send();
}
catch
(e){
}finally{
var
result = xmlhttp.responseText;
if
(result){
if
(xmlhttp.Status==200){
return
(
true
);
}
else
{
return
(
false
);
}
}
else
{
return
(
false
);
}
}
}
|
2五、原生JavaScript格式化CSS樣式代碼
1
2
3
4
5
6
7
8
9
|
function
formatCss(s){
//格式化代碼
s = s.replace(/\s*([\{\}\:\;\,])\s*/g,
"$1"
);
s = s.replace(/;\s*;/g,
";"
);
//清除連續分號
s = s.replace(/\,[\s\.\
#\d]*{/g, "{");
s = s.replace(/([^\s])\{([^\s])/g,
"$1 {\n\t$2"
);
s = s.replace(/([^\s])\}([^\n]*)/g,
"$1\n}\n$2"
);
s = s.replace(/([^\s]);([^\s\}])/g,
"$1;\n\t$2"
);
return
s;
}
|
2六、原生JavaScript壓縮CSS樣式代碼
1
2
3
4
5
6
7
8
|
function
yasuoCss (s) {
//壓縮代碼
s = s.replace(/\/\*(.|\n)*?\*\
//g, ""); //刪除註釋
s = s.replace(/\s*([\{\}\:\;\,])\s*/g,
"$1"
);
s = s.replace(/\,[\s\.\
#\d]*\{/g, "{"); //容錯處理
s = s.replace(/;\s*;/g,
";"
);
//清除連續分號
s = s.match(/^\s*(\S+(\s+\S+)*)\s*$/);
//去掉首尾空白
return
(s ==
null
) ?
""
: s[1];
}
|
2七、原生JavaScript獲取當前路徑
1
2
3
4
5
6
7
|
var
currentPageUrl =
""
;
if
(
typeof
this
.href ===
"undefined"
) {
currentPageUrl = document.location.toString().toLowerCase();
}
else
{
currentPageUrl =
this
.href.toString().toLowerCase();
}
|
2八、原生JavaScriptIP轉成整型
1
2
3
4
5
6
7
|
function
_ip2int(ip){
var
num = 0;
ip = ip.split(
"."
);
num = Number(ip[0]) * 256 * 256 * 256 + Number(ip[1]) * 256 * 256 + Number(ip[2]) * 256 + Number(ip[3]);
num = num >>> 0;
return
num;
}
|
2九、原生JavaScript整型解析爲IP地址
1
2
3
4
5
6
7
8
9
10
|
function
_int2iP(num){
var
str;
var
tt =
new
Array();
tt[0] = (num >>> 24) >>> 0;
tt[1] = ((num << 8) >>> 24) >>> 0;
tt[2] = (num << 16) >>> 24;
tt[3] = (num << 24) >>> 24;
str = String(tt[0]) +
"."
+ String(tt[1]) +
"."
+ String(tt[2]) +
"."
+ String(tt[3]);
return
str;
}
|
30、原生JavaScript實現checkbox全選與全不選
1
2
3
4
5
6
7
8
9
10
11
12
13
|
function
checkAll() {
var
selectall = document.getElementById(
"selectall"
);
var
allbox = document.getElementsByName(
"allbox"
);
if
(selectall.checked) {
for
(
var
i = 0; i < allbox.length; i++) {
allbox[i].checked =
true
;
}
}
else
{
for
(
var
i = 0; i < allbox.length; i++) {
allbox[i].checked =
false
;
}
}
}
|
3一、原生JavaScript判斷是否移動設備
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
function
isMobile(){
if
(
typeof
this
._isMobile ===
'boolean'
){
return
this
._isMobile;
}
var
screenWidth =
this
.getScreenWidth();
var
fixViewPortsExperiment = rendererModel.runningExperiments.FixViewport || rendererModel.runningExperiments.fixviewport;
var
fixViewPortsExperimentRunning = fixViewPortsExperiment && (fixViewPortsExperiment.toLowerCase() ===
"new"
);
if
(!fixViewPortsExperiment){
if
(!
this
.isAppleMobileDevice()){
screenWidth = screenWidth/window.devicePixelRatio;
}
}
var
isMobileScreenSize = screenWidth < 600;
var
isMobileUserAgent =
false
;
this
._isMobile = isMobileScreenSize &&
this
.isTouchScreen();
return
this
._isMobile;
}
|
3二、原生JavaScript判斷是否移動設備訪問
1
2
3
|
function
isMobileUserAgent(){
return
(/iphone|ipod|android.*mobile|windows.*phone|blackberry.*mobile/i.test(window.navigator.userAgent.toLowerCase()));
}
|
3三、原生JavaScript判斷是否蘋果移動設備訪問
1
2
3
|
function
isAppleMobileDevice(){
return
(/iphone|ipod|ipad|Macintosh/i.test(navigator.userAgent.toLowerCase()));
}
|
3四、原生JavaScript判斷是否安卓移動設備訪問
1
2
3
|
<b>
function
isAndroidMobileDevice(){
return
(/android/i.test(navigator.userAgent.toLowerCase()));
}</b>
|
3五、原生JavaScript判斷是否Touch屏幕
1
2
3
|
function
isTouchScreen(){
return
((
'ontouchstart'
in
window) || window.DocumentTouch && document
instanceof
DocumentTouch);
}
|
3六、原生JavaScript判斷是否在安卓上的谷歌瀏覽器
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
function
isNewChromeOnAndroid(){
if
(
this
.isAndroidMobileDevice()){
var
userAgent = navigator.userAgent.toLowerCase();
if
((/chrome/i.test(userAgent))){
var
parts = userAgent.split(
'chrome/'
);
var
fullVersionString = parts[1].split(
" "
)[0];
var
versionString = fullVersionString.split(
'.'
)[0];
var
version = parseInt(versionString);
if
(version >= 27){
return
true
;
}
}
}
return
false
;
}
|
3七、原生JavaScript判斷是否打開視窗
1
2
3
|
function
isViewportOpen() {
return
!!document.getElementById(
'wixMobileViewport'
);
}
|
3八、原生JavaScript獲取移動設備初始化大小
1
2
3
4
5
6
7
8
9
10
|
function
getInitZoom(){
if
(!
this
._initZoom){
var
screenWidth = Math.min(screen.height, screen.width);
if
(
this
.isAndroidMobileDevice() && !
this
.isNewChromeOnAndroid()){
screenWidth = screenWidth/window.devicePixelRatio;
}
this
._initZoom = screenWidth /document.body.offsetWidth;
}
return
this
._initZoom;
}
|
3九、原生JavaScript獲取移動設備最大化大小
1
2
3
4
5
6
7
8
9
10
11
12
13
|
function
getZoom(){
var
screenWidth = (Math.abs(window.orientation) === 90) ? Math.max(screen.height, screen.width) : Math.min(screen.height, screen.width);
if
(
this
.isAndroidMobileDevice() && !
this
.isNewChromeOnAndroid()){
screenWidth = screenWidth/window.devicePixelRatio;
}
var
FixViewPortsExperiment = rendererModel.runningExperiments.FixViewport || rendererModel.runningExperiments.fixviewport;
var
FixViewPortsExperimentRunning = FixViewPortsExperiment && (FixViewPortsExperiment ===
"New"
|| FixViewPortsExperiment ===
"new"
);
if
(FixViewPortsExperimentRunning){
return
screenWidth / window.innerWidth;
}
else
{
return
screenWidth / document.body.offsetWidth;
}
}
|
40、原生JavaScript獲取移動設備屏幕寬度
1
2
3
4
5
6
7
8
9
10
11
|
function
getScreenWidth(){
var
smallerSide = Math.min(screen.width, screen.height);
var
fixViewPortsExperiment = rendererModel.runningExperiments.FixViewport || rendererModel.runningExperiments.fixviewport;
var
fixViewPortsExperimentRunning = fixViewPortsExperiment && (fixViewPortsExperiment.toLowerCase() ===
"new"
);
if
(fixViewPortsExperiment){
if
(
this
.isAndroidMobileDevice() && !
this
.isNewChromeOnAndroid()){
smallerSide = smallerSide/window.devicePixelRatio;
}
}
return
smallerSide;
}
|
4一、原生JavaScript完美判斷是否爲網址
1
2
3
4
5
6
7
8
9
|
function
IsURL(strUrl) {
var
regular = /^\b(((https?|ftp):\/\/)?[-a-z0-9]+(\.[-a-z0-9]+)*\.(?:com|edu|gov|int|mil|net|org|biz|info|name|museum|asia|coop|aero|[a-z][a-z]|((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d))\b(\/[-a-z0-9_:\@&?=+,.!\/~%\$]*)?)$/i
if
(regular.test(strUrl)) {
return
true
;
}
else
{
return
false
;
}
}
|
4二、原生JavaScript根據樣式名稱檢索元素對象
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
function
getElementsByClassName(name) {
var
tags = document.getElementsByTagName(
'*'
) || document.all;
var
els = [];
for
(
var
i = 0; i < tags.length; i++) {
if
(tags[i].className) {
var
cs = tags[i].className.split(
' '
);
for
(
var
j = 0; j < cs.length; j++) {
if
(name == cs[j]) {
els.push(tags[i]);
break
}
}
}
}
return
els
}
|
4三、原生JavaScript判斷是否以某個字符串開頭
1
2
3
|
String.prototype.startWith =
function
(s) {
return
this
.indexOf(s) == 0
}
|
4四、原生JavaScript判斷是否以某個字符串結束
1
2
3
4
|
String.prototype.endWith =
function
(s) {
var
d =
this
.length - s.length;
return
(d >= 0 &&
this
.lastIndexOf(s) == d)
}
|
4五、原生JavaScript返回IE瀏覽器的版本號
1
2
3
4
5
6
7
|
function
getIE(){
if
(window.ActiveXObject){
var
v = navigator.userAgent.match(/MSIE ([^;]+)/)[1];
return
parseFloat(v.substring(0, v.indexOf(
"."
)))
}
return
false
}
|
4六、原生JavaScript獲取頁面高度
1
2
3
4
5
6
|
function
getPageHeight(){
var
g = document, a = g.body, f = g.documentElement, d = g.compatMode ==
"BackCompat"
? a
: g.documentElement;
return
Math.max(f.scrollHeight, a.scrollHeight, d.clientHeight);
}
|
4七、原生JavaScript獲取頁面scrollLeft
1
2
3
4
|
function
getPageScrollLeft(){
var
a = document;
return
a.documentElement.scrollLeft || a.body.scrollLeft;
}
|
4八、原生JavaScript獲取頁面可視寬度
1
2
3
4
5
6
|
function
getPageViewWidth(){
var
d = document, a = d.compatMode ==
"BackCompat"
? d.body
: d.documentElement;
return
a.clientWidth;
}
|
4九、原生JavaScript獲取頁面寬度
1
2
3
4
5
6
|
function
getPageWidth(){
var
g = document, a = g.body, f = g.documentElement, d = g.compatMode ==
"BackCompat"
? a
: g.documentElement;
return
Math.max(f.scrollWidth, a.scrollWidth, d.clientWidth);
}
|
50、原生JavaScript獲取頁面scrollTop
1
2
3
4
|
function
getPageScrollTop(){
var
a = document;
return
a.documentElement.scrollTop || a.body.scrollTop;
}
|
5一、原生JavaScript獲取頁面可視高度
1
2
3
4
5
6
|
function
getPageViewHeight() {
var
d = document, a = d.compatMode ==
"BackCompat"
? d.body
: d.documentElement;
return
a.clientHeight;
}
|
5二、原生JavaScript跨瀏覽器添加事件
1
2
3
4
5
6
7
8
9
10
|
function
addEvt(oTarget,sEvtType,fnHandle){
if
(!oTarget){
return
;}
if
(oTarget.addEventListener){
oTarget.addEventListener(sEvtType,fnHandle,
false
);
}
else
if
(oTarget.attachEvent){
oTarget.attachEvent(
"on"
+ sEvtType,fnHandle);
}
else
{
oTarget[
"on"
+ sEvtType] = fnHandle;
}
}
|
5三、原生JavaScript跨瀏覽器刪除事件
1
2
3
4
5
6
7
8
9
10
|
function
delEvt(oTarget,sEvtType,fnHandle){
if
(!oTarget){
return
;}
if
(oTarget.addEventListener){
oTarget.addEventListener(sEvtType,fnHandle,
false
);
}
else
if
(oTarget.attachEvent){
oTarget.attachEvent(
"on"
+ sEvtType,fnHandle);
}
else
{
oTarget[
"on"
+ sEvtType] = fnHandle;
}
}
|
5四、原生JavaScript去掉url前綴
1
2
3
4
5
6
7
|
function
removeUrlPrefix(a){
a=a.replace(/:/g,
":"
).replace(/./g,
"."
).replace(///g,
"/"
);
a=trim(a.replace(/http:\/\
//i,""));
}
return
a;
}
|
5五、原生JavaScript隨機數時間戳
1
2
3
4
|
function
uniqueId(){
var
a=Math.random,b=parseInt;
return
Number(
new
Date()).toString()+b(10*a())+b(10*a())+b(10*a());
}
|
5六、原生JavaScript全角半角轉換,iCase: 0全到半,1半到全,其餘不轉化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
function
chgCase(sStr,iCase){
if
(
typeof
sStr !=
"string"
|| sStr.length <= 0 || !(iCase === 0 || iCase == 1)){
return
sStr;
}
var
i,oRs=[],iCode;
if
(iCase){
/*半->全*/
for
(i=0; i<sStr.length;i+=1){
iCode = sStr.charCodeAt(i);
if
(iCode == 32){
iCode = 12288;
}
else
if
(iCode < 127){
iCode += 65248;
}
oRs.push(String.fromCharCode(iCode));
}
}
else
{
/*全->半*/
for
(i=0; i<sStr.length;i+=1){
iCode = sStr.charCodeAt(i);
if
(iCode == 12288){
iCode = 32;
}
else
if
(iCode > 65280 && iCode < 65375){
iCode -= 65248;
}
oRs.push(String.fromCharCode(iCode));
}
}
return
oRs.join(
""
);
}
|
5七、原生JavaScript確認是否鍵盤有效輸入值
1
2
3
4
5
6
7
8
9
10
|
function
checkKey(iKey){
if
(iKey == 32 || iKey == 229){
return
true
;}
/*空格和異常*/
if
(iKey>47 && iKey < 58){
return
true
;}
/*數字*/
if
(iKey>64 && iKey < 91){
return
true
;}
/*字母*/
if
(iKey>95 && iKey < 108){
return
true
;}
/*數字鍵盤1*/
if
(iKey>108 && iKey < 112){
return
true
;}
/*數字鍵盤2*/
if
(iKey>185 && iKey < 193){
return
true
;}
/*符號1*/
if
(iKey>218 && iKey < 223){
return
true
;}
/*符號2*/
return
false
;
}
|
5八、原生JavaScript獲取網頁被捲去的位置
1
2
3
4
5
6
7
8
9
|
function
getScrollXY() {
return
document.body.scrollTop ? {
x: document.body.scrollLeft,
y: document.body.scrollTop
}: {
x: document.documentElement.scrollLeft,
y: document.documentElement.scrollTop
}
}
|
5九、原生JavaScript另外一種正則日期格式化函數+調用方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
Date.prototype.format =
function
(format){
//author: meizz
var
o = {
"M+"
:
this
.getMonth()+1,
//month
"d+"
:
this
.getDate(),
//day
"h+"
:
this
.getHours(),
//hour
"m+"
:
this
.getMinutes(),
//minute
"s+"
:
this
.getSeconds(),
//second
"q+"
: Math.floor((
this
.getMonth()+3)/3),
//quarter
"S"
:
this
.getMilliseconds()
//millisecond
}
if
(/(y+)/.test(format)) format=format.replace(RegExp.$1,
(
this
.getFullYear()+
""
).substr(4 - RegExp.$1.length));
for
(
var
k
in
o)
if
(
new
RegExp(
"("
+ k +
")"
).test(format))
format = format.replace(RegExp.$1,
RegExp.$1.length==1 ? o[k] :
(
"00"
+ o[k]).substr((
""
+ o[k]).length));
return
format;
}
alert(
new
Date().format(
"yyyy-MM-dd hh:mm:ss"
));
|
60、原生JavaScript時間個性化輸出功能
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
/*
一、< 60s, 顯示爲「剛剛」
二、>= 1min && < 60 min, 顯示與當前時間差「XX分鐘前」
三、>= 60min && < 1day, 顯示與當前時間差「今天 XX:XX」
四、>= 1day && < 1year, 顯示日期「XX月XX日 XX:XX」
五、>= 1year, 顯示具體日期「XXXX年XX月XX日 XX:XX」
*/
function
timeFormat(time){
var
date =
new
Date(time)
, curDate =
new
Date()
, year = date.getFullYear()
, month = date.getMonth() + 1
, day = date.getDate()
, hour = date.getHours()
, minute = date.getMinutes()
, curYear = curDate.getFullYear()
, curHour = curDate.getHours()
, timeStr;
if
(year < curYear){
timeStr = year +
'年'
+ month +
'月'
+ day +
'日 '
+ hour +
':'
+ minute;
}
else
{
var
pastTime = curDate - date
, pastH = pastTime/3600000;
if
(pastH > curHour){
timeStr = month +
'月'
+ day +
'日 '
+ hour +
':'
+ minute;
}
else
if
(pastH >= 1){
timeStr =
'今天 '
+ hour +
':'
+ minute +
'分'
;
}
else
{
var
pastM = curDate.getMinutes() - minute;
if
(pastM > 1){
timeStr = pastM +
'分鐘前'
;
}
else
{
timeStr =
'剛剛'
;
}
}
}
return
timeStr;
}
|
6一、原生JavaScript解決offsetX兼容性問題
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
// 針對火狐不支持offsetX/Y
function
getOffset(e){
var
target = e.target,
// 當前觸發的目標對象
eventCoord,
pageCoord,
offsetCoord;
// 計算當前觸發元素到文檔的距離
pageCoord = getPageCoord(target);
// 計算光標到文檔的距離
eventCoord = {
X : window.pageXOffset + e.clientX,
Y : window.pageYOffset + e.clientY
};
// 相減獲取光標到第一個定位的父元素的座標
offsetCoord = {
X : eventCoord.X - pageCoord.X,
Y : eventCoord.Y - pageCoord.Y
};
return
offsetCoord;
}
function
getPageCoord(element){
var
coord = { X : 0, Y : 0 };
// 計算從當前觸發元素到根節點爲止,
// 各級 offsetParent 元素的 offsetLeft 或 offsetTop 值之和
while
(element){
coord.X += element.offsetLeft;
coord.Y += element.offsetTop;
element = element.offsetParent;
}
return
coord;
}
|
6二、原生JavaScript經常使用的正則表達式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
//正整數
/^[0-9]*[1-9][0-9]*$/;
//負整數
/^-[0-9]*[1-9][0-9]*$/;
//正浮點數
/^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
//負浮點數
/^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/;
//浮點數
/^(-?\d+)(\.\d+)?$/;
//email地址
/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
//url地址
/^[a-zA-z]+:
//(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$/;
//年/月/日(年-月-日、年.月.日)
/^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$/;
//匹配中文字符
/[\u4e00-\u9fa5]/;
//匹配賬號是否合法(字母開頭,容許5-10字節,容許字母數字下劃線)
/^[a-zA-Z][a-zA-Z0-9_]{4,9}$/;
//匹配空白行的正則表達式
/\n\s*\r/;
//匹配中國郵政編碼
/[1-9]\d{5}(?!\d)/;
//匹配身份證
/\d{15}|\d{18}/;
//匹配國內電話號碼
/(\d{3}-|\d{4}-)?(\d{8}|\d{7})?/;
//匹配IP地址
/((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/;
//匹配首尾空白字符的正則表達式
/^\s*|\s*$/;
//匹配HTML標記的正則表達式
< (\S*?)[^>]*>.*?|< .*? />;
|
6三、原生JavaScript實現返回頂部的通用方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
function
backTop(btnId) {
var
btn = document.getElementById(btnId);
var
d = document.documentElement;
var
b = document.body;
window.onscroll = set;
btn.style.display =
"none"
;
btn.onclick =
function
() {
btn.style.display =
"none"
;
window.onscroll =
null
;
this
.timer = setInterval(
function
() {
d.scrollTop -= Math.ceil((d.scrollTop + b.scrollTop) * 0.1);
b.scrollTop -= Math.ceil((d.scrollTop + b.scrollTop) * 0.1);
if
((d.scrollTop + b.scrollTop) == 0) clearInterval(btn.timer, window.onscroll = set);
},
10);
};
function
set() {
btn.style.display = (d.scrollTop + b.scrollTop > 100) ?
'block'
:
"none"
}
};
backTop(
'goTop'
);
|
6四、原生JavaScript得到URL中GET參數值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
// 用法:若是地址是 test.htm?t1=1&t2=2&t3=3, 那麼能取得:GET["t1"], GET["t2"], GET["t3"]
function
get_get(){
querystr = window.location.href.split(
"?"
)
if
(querystr[1]){
GETs = querystr[1].split(
"&"
)
GET =
new
Array()
for
(i=0;i<GETs.length;i++){
tmp_arr = GETs[i].split(
"="
)
key=tmp_arr[0]
GET[key] = tmp_arr[1]
}
}
return
querystr[1];
}
|
6五、原生JavaScript實現全選通用方法
1
2
3
4
5
6
7
8
9
|
function
checkall(form, prefix, checkall) {
var
checkall = checkall ? checkall :
'chkall'
;
for
(
var
i = 0; i < form.elements.length; i++) {
var
e = form.elements[i];
if
(e.type==
"checkbox"
){
e.checked = form.elements[checkall].checked;
}
}
}
|
6六、原生JavaScript實現所有取消選擇通用方法
1
2
3
4
5
6
7
|
function
uncheckAll(form) {
for
(
var
i=0;i<form.elements.length;i++){
var
e = form.elements[i];
if
(e.name !=
'chkall'
)
e.checked=!e.checked;
}
}
|
6七、原生JavaScript實現打開一個窗體通用方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
function
openWindow(url,windowName,width,height){
var
x = parseInt(screen.width / 2.0) - (width / 2.0);
var
y = parseInt(screen.height / 2.0) - (height / 2.0);
var
isMSIE= (navigator.appName ==
"Microsoft Internet Explorer"
);
if
(isMSIE) {
var
p =
"resizable=1,location=no,scrollbars=no,width="
;
p = p+width;
p = p+
",height="
;
p = p+height;
p = p+
",left="
;
p = p+x;
p = p+
",top="
;
p = p+y;
retval = window.open(url, windowName, p);
}
else
{
var
win = window.open(url,
"ZyiisPopup"
,
"top="
+ y +
",left="
+ x +
",scrollbars="
+ scrollbars +
",dialog=yes,modal=yes,width="
+ width +
",height="
+ height +
",resizable=no"
);
eval(
"try { win.resizeTo(width, height); } catch(e) { }"
);
win.focus();
}
}
|
6八、原生JavaScript判斷是否爲客戶端設備
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
function
client(o){
var
b = navigator.userAgent.toLowerCase();
var
t =
false
;
if
(o ==
'isOP'
){
t = b.indexOf(
'opera'
) > -1;
}
if
(o ==
'isIE'
){
t = b.indexOf(
'msie'
) > -1;
}
if
(o ==
'isFF'
){
t = b.indexOf(
'firefox'
) > -1;
}
return
t;
}
|
6九、原生JavaScript獲取單選按鈕的值
1
2
3
4
5
6
7
8
9
10
11
|
function
get_radio_value(field){
if
(field&&field.length){
for
(
var
i=0;i<field.length;i++){
if
(field[i].checked){
return
field[i].value;
}
}
}
else
{
return
;
}
}
|
70、原生JavaScript獲取複選框的值
1
2
3
4
5
6
7
8
9
10
11
|
function
get_checkbox_value(field){
if
(field&&field.length){
for
(
var
i=0;i<field.length;i++){
if
(field[i].checked && !field[i].disabled){
return
field[i].value;
}
}
}
else
{
return
;
}
}
|
7一、原生JavaScript判斷是否爲郵箱
1
2
3
4
5
6
7
8
|
function
isEmail(str){
var
re=/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
if
(re.test(str) !=
true
) {
return
false
;
}
else
{
return
true
;
}
}
|
7二、原生JavaScript判斷是否有列表中的危險字符
1
2
3
4
5
6
7
8
|
function
isValidReg(chars){
var
re=/<|>|\[|\]|\{|\}|『|』|※|○|●|◎|§|△|▲|☆|★|◇|◆|□|▼|㊣|﹋|⊕|⊙|〒|ㄅ|ㄆ|ㄇ|ㄈ|ㄉ|ㄊ|ㄋ|ㄌ|ㄍ|ㄎ|ㄏ|ㄐ|ㄑ|ㄒ|ㄓ|ㄔ|ㄕ|ㄖ|ㄗ|ㄘ|ㄙ|ㄚ|ㄛ|ㄜ|ㄝ|ㄞ|ㄟ|ㄢ|ㄣ|ㄤ|ㄥ|ㄦ|ㄧ|ㄨ|ㄩ|■|▄|▆|\*|@|
#|\^|\\/;
if
(re.test( chars) ==
true
) {
return
false
;
}
else
{
return
true
;
}
}
|
7三、原生JavaScript判斷字符串是否大於規定的長度
1
2
3
4
5
6
|
function
isValidLength(chars, len) {
if
(chars.length < len) {
return
false
;
}
return
true
;
}
|
7四、原生JavaScript判斷字符串是爲網址不區分大小寫
1
2
3
4
5
6
7
8
9
10
11
|
function
isValidURL( chars ) {
var
re=/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(\S+\.\S+)$/;
if
(!isNULL(chars)) {
chars = jsTrim(chars);
if
(chars.match(re) ==
null
)
return
false
;
else
return
true
;
}
return
false
;
}
|
7五、原生JavaScript判斷字符串是否爲小數
1
2
3
4
5
6
7
|
function
isValidDecimal( chars ) {
var
re=/^\d*\.?\d{1,2}$/;
if
(chars.match(re) ==
null
)
return
false
;
else
return
true
;
}
|
7六、原生JavaScript判斷字符串是否爲整數
1
2
3
4
5
6
7
|
function
isNumber( chars ) {
var
re=/^\d*$/;
if
(chars.match(re) ==
null
)
return
false
;
else
return
true
;
}
|
7七、原生JavaScript判斷字符串是否爲浮點數
1
2
3
4
5
6
7
8
|
function
isFloat( str ) {
for
(i=0;i<str.length;i++) {
if
((str.charAt(i)<
"0"
|| str.charAt(i)>
"9"
)&& str.charAt(i) !=
'.'
){
return
false
;
}
}
return
true
;
}
|
7八、原生JavaScript判斷字符是否爲A-Za-z英文字母
1
2
3
4
5
6
7
|
function
isLetters( str ){
var
re=/^[A-Za-z]+$/;
if
(str.match(re) ==
null
)
return
false
;
else
return
true
;
}
|
7九、原生JavaScript判斷字符串是否郵政編碼
1
2
3
4
5
6
7
|
function
isValidPost( chars ) {
var
re=/^\d{6}$/;
if
(chars.match(re) ==
null
)
return
false
;
else
return
true
;
}
|
80、原生JavaScript判斷字符是否空NULL
1
2
3
4
5
6
7
|
function
isNULL( chars ) {
if
(chars ==
null
)
return
true
;
if
(jsTrim(chars).length==0)
return
true
;
return
false
;
}
|
8一、原生JavaScript用正則表達式提取頁面代碼中全部網址
1
2
|
var
aa = document.documentElement.outerHTML.match(/(url\(|src=|href=)[\
"\']*([^\"\'\(\)\<\>\[\] ]+)[\"\'\)]*|(http:\/\/[\w\-\.]+[^\"\'\(\)\<\>\[\] ]+)/ig).join("
\r\n
").replace(/^(src=|href=|url\()[\"\']*|[\"\'\>\) ]*$/igm,"
");
alert(aa)
|
8二、原生JavaScript用正則表達式清除相同的數組(低效率)
1
2
3
|
Array.prototype.unique=
function
(){
return
this
.reverse().join(
","
).match(/([^,]+)(?!.*\1)/ig).reverse();
}
|
8三、原生JavaScript用正則表達式清除相同的數組(高效率)
1
2
3
4
5
6
7
8
9
10
|
String.prototype.unique=
function
(){
var
x=
this
.split(/[\r\n]+/);
var
y=
''
;
for
(
var
i=0;i<x.length;i++){
if
(!
new
RegExp(
"^"
+x[i].replace(/([^\w])/ig,
"\\$1"
)+
"$"
,
"igm"
).test(y)){
y+=x[i]+
"\r\n"
}
}
return
y
}
|
8四、原生JavaScript用正則表達式按字母排序,對每行進行數組排序
1
2
3
4
5
|
function
SetSort(){
var
text=K1.value.split(/[\r\n]/).sort().join(
"\r\n"
);
//順序
var
test=K1.value.split(/[\r\n]/).sort().reverse().join(
"\r\n"
);
//反序
K1.value=K1.value!=text?text:test;
}
|
8五、原生JavaScript字符串反序
1
2
3
|
function
IsReverse(text){
return
text.split(
''
).reverse().join(
''
);
}
|
8六、原生JavaScript用正則表達式清除html代碼中的腳本
1
2
3
|
function
clear_script(){
K1.value=K1.value.replace(/<script.*?>[\s\S]*?<\/script>|\s+on[a-zA-Z]{3,16}\s?=\s?
"[\s\S]*?"
|\s+on[a-zA-Z]{3,16}\s?=\s?
'[\s\S]*?'
|\s+on[a-zA-Z]{3,16}\s?=[^ >]+/ig,
""
);
}
|
8七、原生JavaScript動態執行JavaScript腳本
1
2
3
4
5
6
7
|
function
javascript(){
try
{
eval(K1.value);
}
catch
(e){
alert(e.message);
}
}
|
8八、原生JavaScript動態執行VBScript腳本
1
2
3
4
5
6
7
8
9
|
function
vbscript(){
try
{
var
script=document.getElementById(
"K1"
).value;
if
(script.trim()==
""
)
return
;
window.execScript(
'On Error Resume Next \n'
+script+
'\n If Err.Number<>0 Then \n MsgBox "請輸入正確的VBScript腳本!",48,"腳本錯誤!" \n End If'
,
"vbscript"
)
}
catch
(e){
alert(e.message);
}
}
|
8九、原生JavaScript實現金額大寫轉換函數
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
function
transform(tranvalue) {
try
{
var
i = 1;
var
dw2 =
new
Array(
""
,
"萬"
,
"億"
);
//大單位
var
dw1 =
new
Array(
"拾"
,
"佰"
,
"仟"
);
//小單位
var
dw =
new
Array(
"零"
,
"壹"
,
"貳"
,
"叄"
,
"肆"
,
"伍"
,
"陸"
,
"柒"
,
"捌"
,
"玖"
);
//整數部分用
//如下是小寫轉換成大寫顯示在合計大寫的文本框中
//分離整數與小數
var
source = splits(tranvalue);
var
num = source[0];
var
dig = source[1];
//轉換整數部分
var
k1 = 0;
//計小單位
var
k2 = 0;
//計大單位
var
sum = 0;
var
str =
""
;
var
len = source[0].length;
//整數的長度
for
(i = 1; i <= len; i++) {
var
n = source[0].charAt(len - i);
//取得某個位數上的數字
var
bn = 0;
if
(len - i - 1 >= 0) {
bn = source[0].charAt(len - i - 1);
//取得某個位數前一位上的數字
}
sum = sum + Number(n);
if
(sum != 0) {
str = dw[Number(n)].concat(str);
//取得該數字對應的大寫數字,並插入到str字符串的前面
if
(n ==
'0'
) sum = 0;
}
if
(len - i - 1 >= 0) {
//在數字範圍內
if
(k1 != 3) {
//加小單位
if
(bn != 0) {
str = dw1[k1].concat(str);
}
k1++;
}
else
{
//不加小單位,加大單位
k1 = 0;
var
temp = str.charAt(0);
if
(temp ==
"萬"
|| temp ==
"億"
)
//若大單位前沒有數字則捨去大單位
str = str.substr(1, str.length - 1);
str = dw2[k2].concat(str);
sum = 0;
}
}
if
(k1 == 3)
//小單位到千則大單位進一
{
k2++;
}
}
//轉換小數部分
var
strdig =
""
;
if
(dig !=
""
) {
var
n = dig.charAt(0);
if
(n != 0) {
strdig += dw[Number(n)] +
"角"
;
//加數字
}
var
n = dig.charAt(1);
if
(n != 0) {
strdig += dw[Number(n)] +
"分"
;
//加數字
}
}
str +=
"元"
+ strdig;
}
catch
(e) {
return
"0元"
;
}
return
str;
}
//拆分整數與小數
function
splits(tranvalue) {
var
value =
new
Array(
''
,
''
);
temp = tranvalue.split(
"."
);
for
(
var
i = 0; i < temp.length; i++) {
value[i] = temp[i];
}
return
value;
}
|
90、原生JavaScript經常使用的正則表達式大收集
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
匹配中文字符的正則表達式: [\u4e00-\u9fa5]
匹配雙字節字符(包括漢字在內):[^\x00-\xff]
匹配空行的正則表達式:\n[\s| ]*\r
匹配 HTML 標記的正則表達式:<(.*)>.*<\/\1>|<(.*) \/>
匹配首尾空格的正則表達式:(^\s*)|(\s*$)
匹配 IP 地址的正則表達式:/(\d+)\.(\d+)\.(\d+)\.(\d+)/g
匹配 Email 地址的正則表達式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配網址 URL 的正則表達式:http:
//(/[\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
sql 語句:^(select|drop|
delete
|create|update|insert).*$
非負整數:^\d+$
正整數:^[0-9]*[1-9][0-9]*$
非正整數:^((-\d+)|(0+))$
負整數:^-[0-9]*[1-9][0-9]*$
整數:^-?\d+$
非負浮點數:^\d+(\.\d+)?$
正浮點數:^((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+)?))$
英文字符串:^[A-Za-z]+$
英文大寫串:^[A-Z]+$
英文小寫串:^[a-z]+$
英文字符數字串:^[A-Za-z0-9]+$
英數字加下劃線串:^\w+$
E-mail地址:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$
URL:^[a-zA-Z]+:
//(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$ 或:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$
郵政編碼:^[1-9]\d{5}$
電話號碼:^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$
手機號碼:^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$
雙字節字符(包括漢字在內):^\x00-\xff
匹配首尾空格:(^\s*)|(\s*$)
匹配 HTML 標記:<(.*)>.*<\/\1>|<(.*) \/>
匹配空行:\n[\s| ]*\r
提取信息中的網絡連接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+(
'|"| *|>)?
提取信息中的郵件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
提取信息中的圖片連接:(s|S)(r|R)(c|C) *= *('
|")?(\w|\\|\/|\.)+('|"| *|>)?
提取信息中的 IP 地址:(\d+)\.(\d+)\.(\d+)\.(\d+)
提取信息中的中國手機號碼:(86)*0*13\d{9}
提取信息中的中國固定電話號碼:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}
提取信息中的中國電話號碼(包括移動和固定電話):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}
提取信息中的中國郵政編碼:[1-9]{1}(\d+){5}
提取信息中的浮點數(即小數):(-?\d*)\.?\d+
提取信息中的任何數字 :(-?\d*)(\.\d+)?
IP:(\d+)\.(\d+)\.(\d+)\.(\d+)
電話區號:^0\d{2,3}$
騰訊 QQ 號:^[1-9]*[1-9][0-9]*$
賬號(字母開頭,容許 5-16 字節,容許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
中文、英文、數字及下劃線:^[\u4e00-\u9fa5_a-zA-Z0-9]+$
|
from:http://www.admin10000.com/document/3576.html