1、原生javascript实现字符串长度截取
复制代码 代码如下:
function cutstr(str, len) {
var temp;
var icount = 0;
var patrn = /[^\x00-\xff]/;
var strre = ;
for (var i = 0; i if (icount temp = str.substr(i, 1);
if (patrn.exec(temp) == null) {
icount = icount + 1
} else {
icount = icount + 2
}
strre += temp
} else {
break
}
}
return strre + ...
}
2、原生javascript获取域名主机
复制代码 代码如下:
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;
}
3、原生javascript清除空格
复制代码 代码如下:
string.prototype.trim = function() {
var reextraspace = /^\s*(.*?)\s+$/;
return this.replace(reextraspace, $1)
}
4、原生javascript替换全部
复制代码 代码如下:
string.prototype.replaceall = function(s1, s2) {
return this.replace(new regexp(s1, gm), s2)
}
5、原生javascript转义html标签
复制代码 代码如下:
function htmlencode(text) {
return text.replace(/&/g, '&').replace(/\/g, '').replace(/, '/g, '>')
}
6、原生javascript还原html标签
复制代码 代码如下:
function htmldecode(text) {
return text.replace(/&/g, '&').replace(//g, '\').replace(/, '/g, '>')
}
7、原生javascript时间日期格式转换
复制代码 代码如下:
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
}
8、原生javascript判断是否为数字类型
复制代码 代码如下:
function isdigit(value) {
var patrn = /^[0-9]*$/;
if (patrn.exec(value) == null || value == ) {
return false
} else {
return true
}
}
9、原生javascript设置cookie值
复制代码 代码如下:
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;
}
10、原生javascript获取cookie值
复制代码 代码如下:
function getcookie(name) {
var arr = document.cookie.match(new regexp((^| ) + name + =([^;]*)(;|$)));
if (arr != null) return unescape(arr[2]);
return null
}
11、原生javascript加入收藏夹
复制代码 代码如下:
function addfavorite(surl, stitle) {
try {
window.external.addfavorite(surl, stitle)
} catch(e) {
try {
window.sidebar.addpanel(stitle, surl, )
} catch(e) {
alert(加入收藏失败,请使用ctrl+d进行添加)
}
}
}
12、原生javascript设为首页
复制代码 代码如下:
function sethomepage() {
if (document.all) {
document.body.style.behavior = 'url(#default#homepage)';
document.body.sethomepage('http://www.jq-school.com')
} 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', 'http://www.jq-school.com')
}
}
13、原生javascript判断ie6
复制代码 代码如下:
var ua = navigator.useragent.tolowercase();
var isie6 = ua.indexof(msie 6) > -1;
if (isie6) {
try {
document.execcommand(backgroundimagecache, false, true)
} catch(e) {}
}
14、原生javascript加载样式文件
复制代码 代码如下:
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)
}
}
15、原生javascript返回脚本内容
复制代码 代码如下:
function evalscript(s) {
if(s.indexof('
16、原生javascript清除脚本内容
复制代码 代码如下:
function stripscript(s) {
return s.replace(/.*?/ig, '');
}
17、原生javascript动态加载脚本文件
复制代码 代码如下:
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. = false;
scriptnode.onload = function () {
scriptnode. = true;
jsloaded[src] = 1;
};
scriptnode.onreadystatechange = function () {
if((scriptnode.readystate == 'loaded' || scriptnode.readystate == 'complete') && !scriptnode. {
scriptnode. = true;
jsloaded[src] = 1;
}
};
} else if(text){
scriptnode.text = text;
}
document.getelementsbytagname('head')[0].appendchild(scriptnode);
} catch(e) {}
}
18、原生javascript返回按id检索的元素对象
复制代码 代码如下:
function $(id) {
return !id ? null : document.getelementbyid(id);
}
19、原生javascript返回浏览器版本内容
复制代码 代码如下:
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元素显示的通用方法
复制代码 代码如下:
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' : '';
}
}
21、原生javascript中有insertbefore方法,可惜却没有insertafter方法?用如下函数实现
复制代码 代码如下:
function insertafter(newchild,refchild){
var parelem=refchild.parentnode;
if(parelem.lastchild==refchild){
refchild.appendchild(newchild);
}else{
parelem.insertbefore(newchild,refchild.nextsibling);
}
}
22、原生javascript中兼容浏览器绑定元素事件
复制代码 代码如下:
function addeventsamp(obj,evt,fn){
if (obj.addeventlistener) {
obj.addeventlistener(evt, fn, false);
}else if(obj.attachevent){
obj.attachevent('on'+evt,fn);
}
}
23、原生javascript光标停在文字的后面,文本框获得焦点时调用
复制代码 代码如下:
function focuslast(){
var e = event.srcelement;
var r =e.createtextrange();
r.movestart('character',e.value.length);
r.collapse(true);
r.select();
}
24、原生javascript检验url链接是否有效
复制代码 代码如下:
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);
}
}
}
25、原生javascript格式化css样式代码
复制代码 代码如下:
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;
}
26、原生javascript压缩css样式代码
复制代码 代码如下:
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];
}
27、原生javascript获取当前路径
复制代码 代码如下:
var currentpageurl = ;
if (typeof this.href === undefined) {
currentpageurl = document.location.tostring().tolowercase();
}
else {
currentpageurl = this.href.tostring().tolowercase();
}
28、原生javascriptip转成整型
复制代码 代码如下:
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;
}
29、原生javascript整型解析为ip地址
复制代码 代码如下:
function _int2ip(num){
var str;
var tt = new array();
tt[0] = (num >>> 24) >>> 0;
tt[1] = ((num >> 24) >>> 0;
tt[2] = (num >> 24;
tt[3] = (num >> 24;
str = string(tt[0]) + . + string(tt[1]) + . + string(tt[2]) + . + string(tt[3]);
return str;
}
30、原生javascript实现checkbox全选与全不选
复制代码 代码如下:
function checkall() {
var selectall = document.getelementbyid(selectall);
var allbox = document.getelementsbyname(allbox);
if (selectall.checked) {
for (var i = 0; i allbox[i].checked = true;
}
} else {
for (var i = 0; i allbox[i].checked = false;
}
}
}
注:移动篇 (31~40)
31、原生javascript判断是否移动设备
复制代码 代码如下:
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 var ismobileuseragent = false;
this._ismobile = ismobilescreensize && this.istouchscreen();
return this._ismobile;
}
32、原生javascript判断是否移动设备访问
复制代码 代码如下:
function ismobileuseragent(){
return (/iphone|ipod|android.*mobile|windows.*phone|blackberry.*mobile/i.test(window.navigator.useragent.tolowercase()));
}
33、原生javascript判断是否苹果移动设备访问
复制代码 代码如下:
function isapplemobiledevice(){
return (/iphone|ipod|ipad|macintosh/i.test(navigator.useragent.tolowercase()));
}
34、原生javascript判断是否安卓移动设备访问
复制代码 代码如下:
function isandroidmobiledevice(){
return (/android/i.test(navigator.useragent.tolowercase()));
}
35、原生javascript判断是否touch屏幕
复制代码 代码如下:
function istouchscreen(){
return (('ontouchstart' in window) || window.documenttouch && document instanceof documenttouch);
}
36、原生javascript判断是否在安卓上的谷歌浏览器
复制代码 代码如下:
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;
}
37、原生javascript判断是否打开视窗
复制代码 代码如下:
function isviewportopen() {
return !!document.getelementbyid('wixmobileviewport');
}
38、原生javascript获取移动设备初始化大小
复制代码 代码如下:
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;
}
39、原生javascript获取移动设备最大化大小
复制代码 代码如下:
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获取移动设备屏幕宽度
复制代码 代码如下:
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;
}
41、原生javascript完美判断是否为网址
复制代码 代码如下:
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;
}
}
42、原生javascript根据样式名称检索元素对象
复制代码 代码如下:
function getelementsbyclassname(name) {
var tags = document.getelementsbytagname('*') || document.all;
var els = [];
for (var i = 0; i if (tags[i].classname) {
var cs = tags[i].classname.split(' ');
for (var j = 0; j if (name == cs[j]) {
els.push(tags[i]);
break
}
}
}
}
return els
}
43、原生javascript判断是否以某个字符串开头
复制代码 代码如下:
string.prototype.startwith = function (s) {
return this.indexof(s) == 0
}
44、原生javascript判断是否以某个字符串结束
复制代码 代码如下:
string.prototype.endwith = function (s) {
var d = this.length - s.length;
return (d >= 0 && this.lastindexof(s) == d)
}
45、原生javascript返回ie浏览器的版本号
复制代码 代码如下:
function getie(){
if (window.activexobject){
var v = navigator.useragent.match(/msie ([^;]+)/)[1];
return parsefloat(v.substring(0, v.indexof(.)))
}
return false
}
46、原生javascript获取页面高度
复制代码 代码如下:
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);
}
47、原生javascript获取页面scrollleft
复制代码 代码如下:
function getpagescrollleft(){
var a = document;
return a.documentelement.scrollleft || a.body.scrollleft;
}
48、原生javascript获取页面可视宽度
复制代码 代码如下:
function getpageviewwidth(){
var d = document, a = d.compatmode == backcompat
? d.body
: d.documentelement;
return a.clientwidth;
}
49、原生javascript获取页面宽度
复制代码 代码如下:
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
复制代码 代码如下:
function getpagescrolltop(){
var a = document;
return a.documentelement.scrolltop || a.body.scrolltop;
}
61、原生javascript解决offsetx兼容性问题
复制代码 代码如下:
// 针对火狐不支持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;
}
62、原生javascript常用的正则表达式
复制代码 代码如下:
//正整数
/^[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标记的正则表达式
]*>.*?|;
63、原生javascript实现返回顶部的通用方法
复制代码 代码如下:
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');
64、原生javascript获得url中get参数值
复制代码 代码如下:
// 用法:如果地址是 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 tmp_arr = gets[i].split(=)
key=tmp_arr[0]
get[key] = tmp_arr[1]
}
}
return querystr[1];
}
65、原生javascript实现全选通用方法
复制代码 代码如下:
function checkall(form, prefix, checkall) {
var checkall = checkall ? checkall : 'chkall';
for(var i = 0; i var e = form.elements[i];
if(e.type==checkbox){
e.checked = form.elements[checkall].checked;
}
}
}
66、原生javascript实现全部取消选择通用方法
复制代码 代码如下:
function uncheckall(form) {
for (var i=0;i var e = form.elements[i];
if (e.name != 'chkall')
e.checked=!e.checked;
}
}
67、原生javascript实现打开一个窗体通用方法
复制代码 代码如下:
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();
}
}
68、原生javascript判断是否为客户端设备
复制代码 代码如下:
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;
}
69、原生javascript获取单选按钮的值
复制代码 代码如下:
function get_radio_value(field){
if(field&&field.length){
for(var i=0;i if(field[i].checked){
return field[i].value;
}
}
}else {
return ;
}
}
70、原生javascript获取复选框的值
复制代码 代码如下:
function get_checkbox_value(field){
if(field&&field.length){
for(var i=0;i if(field[i].checked && !field[i].disabled){
return field[i].value;
}
}
}else {
return;
}
}
(71~80)验证篇这一篇文章主要是10个比较常用表单验证功能,包括了邮箱、危险字符、验证长度、验证网址、验证小数、整数、浮点数等常用的验证,有了这些代码片段,平时的表单验证也可以不需要jquery的验证插件了,希望可以帮到大家。。。
71、原生javascript判断是否为邮箱
复制代码 代码如下:
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;
}
}
72、原生javascript判断是否有列表中的危险字符
复制代码 代码如下:
function isvalidreg(chars){
var re=/|\[|\]|\{|\}|『|』|※|○|●|◎|§|△|▲|☆|★|◇|◆|□|▼|㊣|﹋|⊕|⊙|〒|ㄅ|ㄆ|ㄇ|ㄈ|ㄉ|ㄊ|ㄋ|ㄌ|ㄍ|ㄎ|ㄏ|ㄐ|ㄑ|ㄒ|ㄓ|ㄔ|ㄕ|ㄖ|ㄗ|ㄘ|ㄙ|ㄚ|ㄛ|ㄜ|ㄝ|ㄞ|ㄟ|ㄢ|ㄣ|ㄤ|ㄥ|ㄦ|ㄧ|ㄨ|ㄩ|■|▄|▆|\*|@|#|\^|\\/;
if (re.test( chars) == true) {
return false;
}else{
return true;
}
}
73、原生javascript判断字符串是否大于规定的长度
复制代码 代码如下:
function isvalidlength(chars, len) {
if (chars.length return false;
}
return true;
}
74、原生javascript判断字符串是为网址不区分大小写
复制代码 代码如下:
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;
}
75、原生javascript判断字符串是否为小数
复制代码 代码如下:
function isvaliddecimal( chars ) {
var re=/^\d*\.?\d{1,2}$/;
if (chars.match(re) == null)
return false;
else
return true;
}
76、原生javascript判断字符串是否为整数
复制代码 代码如下:
function isnumber( chars ) {
var re=/^\d*$/;
if (chars.match(re) == null)
return false;
else
return true;
}
77、原生javascript判断字符串是否为浮点数
复制代码 代码如下:
function isfloat( str ) {
for(i=0;i if ((str.charat(i)9)&& str.charat(i) != '.'){
return false;
}
}
return true;
}
78、原生javascript判断字符是否为a-za-z英文字母
复制代码 代码如下:
function isletters( str ){
var re=/^[a-za-z]+$/;
if (str.match(re) == null)
return false;
else
return true;
}
79、原生javascript判断字符串是否邮政编码
复制代码 代码如下:
function isvalidpost( chars ) {
var re=/^\d{6}$/;
if (chars.match(re) == null)
return false;
else
return true;
}
80、原生javascript判断字符是否空null
复制代码 代码如下:
function isnull( chars ) {
if (chars == null)
return true;
if (jstrim(chars).length==0)
return true;
return false;
}
81、原生javascript用正则表达式提取页面代码中所有网址
复制代码 代码如下:
var aa = document.documentelement.outerhtml.match(/(url\(|src=|href=)[\\']*([^\\'\(\)\\[\] ]+)[\\'\)]*|(http:\/\/[\w\-\.]+[^\\'\(\)\\[\] ]+)/ig).join(\r\n).replace(/^(src=|href=|url\()[\\']*|[\\'\>\) ]*$/igm,);
alert(aa);
82、原生javascript用正则表达式清除相同的数组(低效率)
复制代码 代码如下:
array.prototype.unique=function(){
return this.reverse().join(,).match(/([^,]+)(?!.*\1)/ig).reverse();
}
83、原生javascript用正则表达式清除相同的数组(高效率)
复制代码 代码如下:
string.prototype.unique=function(){
var x=this.split(/[\r\n]+/);
var y='';
for(var i=0;i if(!new regexp(^+x[i].replace(/([^\w])/ig,\\$1)+$,igm).test(y)){
y+=x[i]+\r\n
}
}
return y
}
84、原生javascript用正则表达式按字母排序,对每行进行数组排序
复制代码 代码如下:
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;
}
85、原生javascript字符串反序
复制代码 代码如下:
function isreverse(text){
return text.split('').reverse().join('');
}
86、原生javascript用正则表达式清除html代码中的脚本
复制代码 代码如下:
function clear_script(){
k1.value=k1.value.replace(/[\s\s]*?|\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,);
}
87、原生javascript动态执行javascript脚本
复制代码 代码如下:
function javascript(){
try{
eval(k1.value);
}catch(e){
alert(e.message);
}
}
88、原生javascript动态执行vbscript脚本
复制代码 代码如下:
function vbscript(){
try{
var script=document.getelementbyid(k1).value;
if(script.trim()==)return;
window.execscript('on error resume next \n'+script+'\n if err.number0 then \n msgbox 请输入正确的vbscript脚本!,48,脚本错误! \n end if',vbscript)
}catch(e){
alert(e.message);
}
}
89、原生javascript实现金额大写转换函数
复制代码 代码如下:
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 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 value[i] = temp[i];
}
return value;
}
90、原生javascript常用的正则表达式大收集
复制代码 代码如下:
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:[\s| ]*\r
匹配 html 标记的正则表达式:.*|
匹配首尾空格的正则表达式:(^\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 标记:.*|
匹配空行:[\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]+$
91、原生javascript实现窗体改变事件resize的操作(兼容所以的浏览器)
复制代码 代码如下:
(function(){
var fn = function(){
var w = document.documentelement ? document.documentelement.clientwidth : document.body.clientwidth
,r = 1255
,b = element.extend(document.body)
,classname = b.classname