cf中的channelbg为什么我cf火线时刻怎么找不到到只找到channelblurbg.txt

只剩伤痛 - 歌单 - 网易云音乐
撕心裂肺的痛, 爱上一首歌的原因可能不是因为旋律多动听,嗓音有多感人,而是因为,你恰好也有个故事。
播放:208次
喜欢这个歌单的人
网易云音乐多端下载
同步歌单,随时畅听320k好音乐
网易公司版权所有(C)杭州乐读科技有限公司运营:sysplugins
_exception.html
_jump.html
Header.html
Ad_edit.html
Arcflag.html
Arcflag_edit.html
Arctype.html
Arctype_edit.html
Article.html
Article_edit.html
Cache.html
Cache_clear.html
Config.html
Flink.html
Flink_edit.html
Index.html
Index_main.html
Login.html
Master.html
Rewrite.html
Rewrite_show.html
Robot.html
admin_left_title.gif
admin_sub_title.gif
admin_sub_title01.gif
admin_top_bg.gif
color_selecter.gif
headebg.png
icon_back.gif
icon_close.gif
left_menu_bg_over.gif
load_blue.gif
selectbg_left.gif
shadow.gif
sub_title.gif
success.png
textarea_bg.gif
text_bg.gif
aui_close.hover.png
aui_close.png
aui_ne.png
aui_nw.png
aui_se.png
aui_sw.png
aui_title_icon.png
aero_s.png
aero_s2.png
close.hover.png
bg_css3.png
bg_css3_2.png
close.hover.png
bg_css3.png
bg_css3_2.png
border.png
chrome_s.png
close.hover.png
bg_css3.png
bg_css3_2.png
color_bg.png
confirm.png
face-sad.png
face-smile.png
loading.gif
notice.png
success.png
aui_close.hover.png
aui_close.png
aui_ne.png
aui_nw.png
aui_se.png
aui_sw.png
idialog_s.png
idialog_s2.png
aui_close.hover.png
aui_close.png
aui_ne.png
aui_nw.png
aui_se.png
aui_sw.png
chrome.css
default.css
idialog.css
simple.css
twitter.css
DatePicker
datepicker.css
datepicker.css
dateselect.gif
glass-bg.gif
hd-sprite.gif
left-btn.gif
left-btn2.gif
right-btn.gif
right-btn2.gif
datePicker.gif
WdatePicker.css
autoheight
index.html
prettify.css
static.gif
filemanager
file-16.gif
file-64.gif
folder-16.gif
folder-64.gif
align_left.gif
align_right.gif
align_top.gif
refresh.png
insertfile
lineheight
multiimage
select-files-en.png
select-files-zh_CN.png
swfupload.swf
plainpaste
quickformat
anchor.gif
loading.gif
background.png
default.css
default.png
license.txt
_jump.html
arcbody11.MYD
arcbody16.MYD
arcbody37.MYD
arcbody40.MYD
arcbody46.MYD
arcbody8.MYD
arcbody.MYD
arcflag.MYD
arctype.MYD
article.MYD
master.MYD
robots.log
nginx.conf
web.config
nav-li.png
Article_lists.html
Article_search.html
Article_show.html
footer.html
header.html
Index.html
LICENCE.txt
使用协议.txt
安装说明.txt
/*----------------------------------------------------------------------------|
JavaScript validation API,Form auto Validation API
LastModified:
http://code.google.com/p/cwin/downloads/list
Apache License 2.0
|-----------------------------------------------------------------------------|
|-----------------------------------------------------------------------------|
|功能1.表单字段验证
方法签名:validElement(element).
功能:如果验证失败,返回false。显示在页面或跳出错误信息。
参数说明:element:HTML元素,在页面上调用此方法时请使用 'this'调用。
limit:验证条件串:如:'type:required:decLen:2'
limit的属性可以有: type,required,len,between,decLen,
equals,general
type:string,int,digit,float,email,ip,url,date,datetime,time
tel,fax,mobileCn,idCard,signName,name,postcodeCn
default: string.
required:可选值有true和false.default:false.
len:字符串长度,值为 &6-20&,表示长度在6和20之间。也可
以为&-20&,表示不超过20。
between:数值有效,在两个值之间。可为 &10-100&,表示大
小在10与00之间,也可为&-100&,表示小于100。
decLen:浮点型精度长度.若不符合精度将会自动纠正.
equals:是否要求与其它元素相等。用于密码确认等场合.
general:是否是一般字符。不包括特殊字符.Default:true.
than:与指定对象比较日期值,如果大于return true.
msgArea:显示错误信息的SPAN或DIV的ID。如果传入为空,则会查找
global_error_msg_area 的SPAN或DIV,如果也为空,则会
alert 这些错误信息。
msg:错误信息,如果这个参数为&&,则会打出默认的错误信息.
|功能2.表单自动验证:
方法签名:checkForm(form,isCheckAll)
isCheckAll:是否检查所有的元素:如为False,验证会在第一个错误出现时退出,否则,会验证所有的元素
功能:验证表单中所有需要验证的字段.失败返回false.显示或跳出错误信息.
使用条件:需要验证的元素需要定义至少 limit 属性,程序会自动搜索这个表单中所有需要验证的元素。
|提示:如果您需要把错误信息显示在某一个单独的地方,可以定义一个ID为 global_error_msg_area 的DIV或是SPAN
 表单的验证将默认限制特殊字符,可以加入 general:false 来取消限制
\*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*\
JavaScript validation API
|验证函数列表:
|judgeDigit(arguments...) :判断是否数字
|三种调用方式:
|1.一个参数,简单判断是否为数字,但长度不超过10位
|2.三个参数,第二个参数为 '&'(大于) 或 '&'(小于),第3个参数为要比较的数字
|3.三个参数,第二个参数与第三个参数均为整数,判断传入的第一个参数值是否在他们中间.(含边界)
|judgeFloat(arguments...):浮点数
|如果是一个参数,那么判断是否为浮点数
|如果有两个参数,那么将第二个参数作为精度限定参数
|如果有三个参数,那么第二个参数为最小值,第三个参数是将作为数值上限
|isDigit(str):是否数字
|isSignName(arguments...)
|两种调用方式:
|一个参数:(默认为2--32位),判断标识符或是登录名
|判断标识符或是登录名,以字母开头,可带数字、&_&、&.& 的字串
|三个参数:
|限定最小长度(第二个参数)与最大长度(第三个参数)
|isRealName(str) :判断是否是真实姓名
|isTel(str) :电话号码:除数字外,可含有&-&.校验普通电话,除数字外,可用&-&或空格分开
|isMobileCN(s) :中国大陆地区手机号码,以13或15开头,使用时请根据变化修改,
|isPostalCodeCN(s):中国地区邮编
|isEmail(s) :E-mail
|isURL(s) :URL
|isIP(s):IP-32
|isHtmlTag(s):HTML Tag
|isIDNumber15(s):身份证号15位
|isIDNumber18(s):身份证号18位
|isChineseString(s):中文字符
|isDoubleByteString(s):双字节
|hasHESpace(s):是否包含首尾空格,如果包含,返回TRUE
|isQQ(s):QQ
|isFloat(s):是否是浮点数
|isLeapYear(y):是否闰年
|isDateYMD(s):日期:yyyy-mm-dd 或 yyyy/mm/dd,支持1600年以后(包含闰年验证)
|isDateDMY(s):日期:dd-mm-yyyy 或 dd/mm/yyyy,支持1600年以后(包含闰年验证)
|isDateMDY(s):日期:mm/dd/yyyy 或 mm-dd-yyyy,支持1600年以后(包含闰年验证)
|isDateTimeYMD(s):日期:yyyy/mm/dd hh:mm:ss 或 yyyy-mm-dd hh:mm:ss,支持1600年以后(包含闰年验证)
|containsSpecialChar()
|是否包含非特殊字符(正常字符包括字母数字,下划线,和点号,空格,@#$% 和双字节)若包含,返回true
|以下方法遵守这样的调用法则:
|1.一个参数,不限制长度
|2.三个参数,第二个参数表示允许的最小长度,第三个参数表示允许的最大长度
|isDigitString():数字
|isLetter():字母
|isUpperLetter():大写字母
|isLowerLetter():小写字母
|isLetterNumString():字母与数字
|isLNUString() :数字,字母,下划线字符串
|兼容性:在IE6.0与Firefox2.0下测试通过。
|License:Apache license2.0.请在使用此代码时包含license与作者信息.
\*-----------------------------------------------------------------------------------------*/
var global_formjs_valid_flag =
//全局的是否错误的变量
var error_msg_span = //错误显示的SPAN或是DIV
* 检查表单所有元素
* @param form 表单
* @param checkAll 是否检查所有元素(如为false则会在第一个错误出现就会退出)否则将检查所有元素
function checkForm(form,checkAll){
error_msg_span = document.getElementById(&global_error_msg_area&);
//clear err msg
if (error_msg_span != undefined && error_msg_span != null) {
error_msg_span.innerHTML = &&;
var eles = form.
var hasError =
//keke_valid(eles[3]);
//遍历所有表元素
for(var i=0;i&eles.i++){
if(typeof(eles[i]).type != 'undefined'){
var eleType = eles[i].type.toLowerCase();
if(eleType!='button'&&eleType!='sbumit' &&eleType!='application/x-shockwave-flash' && typeof eleType != 'undefined'){
//取出元素declare
var ignore= eles[i].getAttribute(&ignore&);
if(ignore==null||ignore!='true'){
var limit = eles[i].getAttribute(&limit&);
if(limit != null && limit != &&){
= eles[i].getAttribute(&ajax&);
var valid = 0;
valid = parseInt(eles[i].getAttribute(&valid&));
valid==1?valid=1:(valid==2?valid=2:'');
ajax==null?valid=2:'';
if(checkAll){
validElement(eles[i]);
if(!global_formjs_valid_flag){
hasError =
if(!validElement(eles[i])||valid==1){
//eles[i].type!='checkbox'?eles[i].focus():'';
return !hasE
function test_hidden(ele){
var test_a = 0;
var test = $(ele).parents();
$(test).each(function(){
if(this.style.display=='none'){
test_a = 1;
return test_a;
*出现错误返回FALSE
function validElement(ele){
//隐藏标签不验收,直接返回通过
var a = test_hidden(ele);
error_msg_span = document.getElementById(&global_error_msg_area&);
//属性检查
var limit = ele.getAttribute(&limit&);
if(limit == null || trim(limit) == &&)
limit = trim(limit);
var msgSpan = ele.getAttribute(&msgArea&);
if(msgSpan != null) msgSpan = trim(msgSpan);
var errMsg = ele.getAttribute(&msg&);
if(errMsg != null) errMsg = trim(errMsg);
//全局变量
global_formjs_valid_flag =
//preparing----
var form = ele.
var formName = form.
//alert(ele.form.name);
if(msgSpan != null || msgSpan != &&){
msgSpan = document.getElementById(msgSpan);
if(msgSpan == null){
msgSpan = error_msg_
msgSpan = error_msg_
/*if(msgSpan != undefined && msgSpan != null){
msgSpan.innerHTML = &&;
//设置错误信息函数
var setErrMessage = function(ele,error_msg){
errMsg = (errMsg == null || errMsg == &&) ? ele.name+& input error:& + error_msg : errM
if(msgSpan !=undefined
&& msgSpan != null){
msgSpan.innerHTML = &&;
//msgSpan.setAttribute('class','msg msg_error');
msgSpan.className =&msg msg_error&;
msgSpan.innerHTML = '&i&&/i&&span&'+errMsg+'&/span&';
//showDialog(errMsg,'alert','tips');
alert(errMsg);
// prepared....
//错误信息处理完毕
//拆分limit信息,提取最重要信息之 -- 是否必须与类型
var vtype = &string&;
var required = //是否必须
var general =
//是否是一般字符串(不允许包含特殊字符)
var lims = limit.split(&;&);
//限制列表
for(ii = 0;ii&lims.ii++){
if(lims[ii].indexOf(&:&)&0){
var alim = lims[ii].split(&:&);
if(alim[0] == 'type'){
vtype = alim[1];
}else if(alim[0] == 'required'){
required = alim[1] == &true&;
}else if(alim[0] == 'general' && alim[1] == 'true'){
alert(&Element config error!&)
if(required&&ele.type=='checkbox'&&ele.checked==false){
return setErrMessage(ele,& must be choose.&);
var valu = $.trim(ele.value);
ele.value =
//是否为空
var isNull = (valu == undefined) || (valu == &&);
//空判断 -- 如果不允许为空而实际是空,则返回
if(required && isNull){
return setErrMessage(ele,& can't be null.&);
}else if(!isNull){
//=============================类型检验========================//
//=============================类型检验========================//
//检验类型
switch(vtype){
case &int&:
if(!isDigit(valu)){
return setErrMessage(ele,& must be int.&);
case &digit&:
if(!isDigitString(valu)){
return setErrMessage(ele,& must be digit.&);
case &float&:
if(!isFloat(valu)){
return setErrMessage(ele,& must be float.&);
case &date&:
if(!isDateYMD(valu)){
return setErrMessage(ele,& must be date.&);
case &datetime&:
if(!isDateTimeYMD(valu)){
return setErrMessage(ele,& must be datetime.&);
case &time&:
if(!isTime(valu)){
return setErrMessage(ele,& must be time.&);
case &tel&:
case &fax&:
if(!isTel(valu)){
return setErrMessage(ele,& must be tel or fax number.&);
case &mobileCn&:
if(!isMobileCN(valu)){
return setErrMessage(ele,& must be Chinese&);
case &ip&:
if(!isIP(valu)){
return setErrMessage(ele,& must be IP.&);
case &url&:
if(!isURL(valu)){
return setErrMessage(ele,& must be URL.&);
case &idCard&:
if(!(isIDNumber15(valu) || isIDNumber18(valu))){
return setErrMessage(ele,& must be Chinese IDCard number.&);
case &email&:
if(containsSpecialChar(valu)||!isEmail(valu)){
return setErrMessage(ele,& must be Email address.&);
case &signName&:
if(!isSignName(valu)){
return setErrMessage(ele,& must be sign name:character,number,underline,point.The first char must be character.&);
case &name&:
if(!isRealName(valu)){
return setErrMessage(ele,& must be real name:Double byte character or single byte character. or space,point.&);
case &postcodeCn&:
if(!isPostalCodeCN(valu)){
return setErrMessage(ele,& must be valid postcode.&);
case &string&:
alert(L.ele + ele.name + L.error_config_val + vtype);
//=============================类型检验结束========================//
//============================其它限制检验=======================//
if(lims != null){
for(i = 0;i&lims.i++){
var lim = lims[i].split(&:&);
if(lim.length != 2){
alert(&attrribute limit config error.&);
if(lim[0] == &len&){ //长度检查,不管是什么类型,配置了长度就检查
var lenDesc = lim[1];
//alert(lim[1]);
if(lenDesc.indexOf(&-&) & -1){
var als = lenDesc.split(&-&);
if(als.length == 2){
if(als[0] == &&){
if(valu.length & parseInt(als[1])){
return setErrMessage(ele,& can't more than & + als[1]);
}else if(als[1] == &&){
if(valu.length & parseInt(als[0])){
return setErrMessage(ele,& can't less than & + als[0]);
}else if(valu.length & parseInt(als[0]) || valu.length & parseInt(als[1])){
return setErrMessage(ele,& must between & + als[0] + & and & + als[1]);
alert(&Element& + ele.name + & config error.&);
if(valu.length != parseInt(lenDesc)){
return setErrMessage(ele,& the length must be & + lenDesc);
//限定值区间,仅用于int型与float型
}else if(lim[0] == &between& && lim[1].indexOf(&-&) & -1 && (vtype==&float& || vtype==&int&)){
var ls = lim[1].split(&-&);
var fv = parseFloat(valu);
//如果没有下限
if(ls[0] == &&){
if(fv & parseFloat(ls[1])){
return setErrMessage(ele,& can't more than & + ls[1]);
}else if(ls[1] == &&){ //如果没有上限
if(fv & parseFloat(ls[0])){
return setErrMessage(ele,& can't less than & + ls[0]);
if(fv & parseFloat(ls[0]) || fv & parseFloat(ls[1])){
return setErrMessage(ele,& must between & + ls[0] + & and & + ls[1]);
}else if(lim[0] == &decLen& && vtype==&float&){ //浮点数精度
if((valu.length - valu.indexOf(&.&)) & parseInt(lim[1])){
//转换精度
var precision = Math.pow(10, parseInt(lim[1]) || 0);
ele.value = Math.round(parseFloat(valu) * precision) /
}else if(lim[0] == &equals&){
//是否要求检测其它相等的元素值
var oevalue = eval(&document.& + formName + &.& + lim[1] + &.value&);
if(oevalue != valu){
return setErrMessage(ele,& not match element & + lim[1] + &'s value.&);
}else if(lim[0]=='bigger'){
//要求检测当前的值比指定元素值大
var oevalue = eval(&document.& + formName + &.& + lim[1] + &.value&);
od = parseInt(oevalue);
parseInt(valu);
if(cd&od||isNaN(od)||isNaN(cd)){
return setErrMessage(ele,& &+lim[0]+&
must bigger than & + lim[1] );
else if(lim[0]=='smaller'){
//要求检测当前的值比指定元素值小
var oevalue = eval(&document.& + formName + &.& + lim[1] + &.value&);
od = parseInt(oevalue);
parseInt(Math.ceil(valu));
if(cd&od||isNaN(od)||isNaN(cd)){
return setErrMessage(ele,& &+lim[0]+&
must small than & + lim[1] );
else if(lim[0]=='than'){
//要求检测当前的时间值比前一个时间值大
var oevalue = eval(&document.& + formName + &.& + lim[1] + &.value&);
od = toDate(oevalue);
toDate(valu);
if(cd&od){
return setErrMessage(ele,& &+lim[0]+&
must than & + lim[1] );
}else if(lim[0]=='less'){
//要求检测当前的时间值比指定时间值小
var levalue = eval(&document.& + formName + &.& + lim[1] + &.value&);
ld = toDate(levalue);
toDate(valu);
//alert(ld);
if(ld&&ld&cd){
return setErrMessage(ele,& &+lim[0]+&
must less & + lim[1] );
if(general && vtype=='string'){// alert(containsSpecialChar(valu));
if(containsSpecialChar(valu)){
return setErrMessage(ele,& can't allow contains special character.&);
//ajax判断验证错误
if(ele.getAttribute(&valid&)=='0'){
return setErrMessage(ele,&ajax valid failed&);
//============================限制检验完毕=======================//
global_formjs_valid_flag =
* 清空信息域
* @param divid
function clearMsgArea(divid){
var msgSpan = document.getElementById(divid);
if(msgSpan != undefined && msgSpan != null){
msgSpan.innerHTML = &&;
/*去除空格*/
function trim(str){
return str.replace(/^\s+|\s+$/g, '');
判断是否数字
三种调用方式:
* 1.一个参数,简单判断是否为数字,但长度不超过10位
* 2.三个参数,第二个参数为 '&'(大于) 或 '&'(小于),第3个参数为要比较的数字
* 3.三个参数,第二个参数与第三个参数均为整数,判断传入的第一个参数值是否在他们中间。(含边界)
function judgeDigit(){
var s = arguments[0];
if(arguments.length == 1){
return isDigit(s);
}else if(arguments.length == 3){
//通过验证
var patrn=/^-?[0-9]{1,10}$/;
if(patrn.test(s)){
var p1 = arguments[1];
var sint = parseInt(s);
if(isDigit(arguments[2])){
var pint = parseInt(arguments[2]);
if(p1 == '&' || p1 == '&'){
if(p1 == '&'){
return sint &
}else if(p1 == '&'){
return sint &
}else if(isDigit(p1)){
var pmin = parseInt(p1);
return (sint &= pmin) && (sint &= pint);
alert('arguments error,the 2nd argument is not a number and not an operation:greater|less|equals.');
alert('arguments error,the 3rd argument is not a number.');
function isDigit(s){
var patrn=/^[0-9]{1,10}$/;
return patrn.test(s);
* 判断标识符或是登录名,以字母开头,可带数字、&_&、&.& 的字串
* 限定最小长度(第二个参数)与最大长度(第三个参数)(默认为2--32位)
* @param string
* @param min length
* @param max length
function isSignName(){
var s = arguments[0];
if(arguments.length == 1){
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){1,31}$/;
return patrn.test(s);
}else if(arguments.length == 3){
if(isDigit(arguments[1]) && isDigit(arguments[2])){
eval(&var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){& + (parseInt(arguments[1]) - 1) + &,& + (parseInt(arguments[2]) - 1) + &}$/;&);
return eval(&patrn.test(s);&);
alert('Error:the 2nd argument and the 3rd argument must be number.');
alert('method invoke error.error arguments number.');
*判断是否是真实姓名
function isRealName(s){
var patrn = /^([a-zA-Z0-9]|[._ ]){2,64}$/;
var p2 = /^([^\x00-\xff]|[\s]){2,32}$/;
//双字节名
return patrn.test(s) || p2.test(s);
* 电话号码
* 必须以数字开头,除数字外,可含有&-&
function isTel(s){
//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
var patrn = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/;
var patrn2 = /^1[3|5|8]{1}[0-9]{1}[-| ]?\d{8}$/;
var patrn3 = /^(400)[6|7|8|1|0]{1}[-| ]?\d{3}[-| ]?\d{3}$/;
var patrn4 = /^(800)[-| ]?\d{3}[-| ]?\d{4}$/;
var patrn5 = /^(00852)?[-| ]?[6|9]{1}\d{7}$/;
return patrn.test(s) || patrn2.test(s)||patrn3.test(s)||patrn4.test(s)||patrn5.test(s);
* 中国大陆地区手机号码
* 以13或15开头,使用时请根据变化修改
* 校验普通电话,除数字外,可用&-&或空格分开
function isMobileCN(s){
var patrn = /^1[0-9]{1}[0-9]{1}[-| ]?\d{8}$/;
var patrn2 = /^(00852)?[-| ]?[6|9]{1}\d{7}$/;
return patrn.test(s)||patrn2.test(s);
* 中国地区邮编
function isPostalCodeCN(s){
var patrn=/^[1-9]\d{5}$/;
return patrn.test(s);
function isEmail(s){
var patrn = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
return patrn.test(s);
function isURL(s){
var patrn = /^http:\/\/([\w-]+(\.[\w-]+)+(\/[\w-.\/\?%&=\u4e00-\u9fa5]*)?)?$/;
return patrn.test(s);
function isIP(s) {
var patrn=/^((1?\d?\d|(2([0-4]\d|5[0-5])))\.){3}(1?\d?\d|(2([0-4]\d|5[0-5])))$/;
return patrn.test(s);
*是否是完整的正则表达式
*只有开始标记与结束标记相匹配才为TRUE
function isHtmlTag(s){
var patrn = /^&(.*)&.*&\/\1&|&(.*) \/&$/;
return patrn.test(s);
*这里的省与地区码还没有判断
function isIDNumber15(s){
var patrn=/^[\d]{6}((\d{2}((0[1])(0[1-9]|[12]\d|3[01])|(0[[012])(0[1-9]|[12]\d|30)|02(0[1-9]|1\d|2[0-8])))|([0]|[129)[\d]{3}$/;
return patrn.test(s);
*这里的省与地区码还没有判断
function isIDNumber18(s){
var patrn = /^[\d]{6}[0-9]{4}(((0[13578]|(10|12))(0[1-9]|[1-2][0-9]|3[0-1]))|(02(0[1-9]|[1-2][0-9]))|((0[469]|11)(0[1-9]|[1-2][0-9]|30)))[\d]{3}[\d|x|X]$/;
return patrn.test(s);
function isChineseString(s){
var patrn = /^[\u4e00-\u9fa5]+$/
return patrn.test(s);
function isDoubleByteString(s){
var patrn = /^[^x00-xff]+$/;
return patrn.test(s);
*是否包含首尾空格,如果包含,返回TRUE
function hasHESpace(s){
var patrn = /^\s+|\s+$/;
return patrn.test(s);
* QQ,最大10位,最小5位
function isQQ(s){
var patrn=/^[1-9]{1}\d{4,9}$/;
return patrn.test(s);
* 如果是一个参数,那么判断是否为浮点数
* 如果有两个参数,那么将第二个参数作为精度限定参数
* 如果有三个参数,那么第三个参数是将作为数值上限
function judgeFloat(){
if(arguments.length == 1){
return isFloat(arguments[0]);
}else if(arguments.length == 2){
eval(&var patrn = /^-?\\d+.?\\d{0,& + arguments[1] + &}$/;&);
return eval(&patrn.test(arguments[0]);&);
}else if(arguments.length == 4){
var a3 = arguments[2];
if(a3 == '&' || a3 == '&'){
if(isFloat(arguments[3])){
eval(&var patrn = /^-?\\d+.?\\d{0,& + arguments[1] + &}$/;&);
if(eval(&patrn.test(arguments[0]);&)){
if(a3 == '&'){
if(parseFloat(arguments[0]) & parseFloat(arguments[3]))
if(parseFloat(arguments[0]) & parseFloat(arguments[3]))
}else if(isFloat(a3)){
eval(&var patrn = /^-?\\d+.?\\d{0,& + arguments[1] + &}$/;&);
if(eval(&patrn.test(arguments[0]);&)){
var f0 = parseFloat(arguments[0]);
var f3 = parseFloat(arguments[2]);
var f4 = parseFloat(arguments[3]);
return f0 &= f3 && f0 &= f4;
alert('the 3rd and the 4th arguments are not number.');
*是否是浮点数
function isFloat(s){
var patrn = /^-?\d*.?\d+$/;
return patrn.test(s);
function isLeapYear(y){
return (y % 4 == 0 && y % 100 != 0) || y % 400 == 0;
*yyyy-mm-dd格式或yyyy/mm/dd格式,年用两位表示亦可
*Regex author:Michael Ash
*支持1600年以后
function isDateYMD(s){
var patrn = /^(?:(?:(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[]|[13579][26])|(?:(?:16|[]|[)))(\/|-|\.)(?:0?2\1(?:29)))|(?:(?:(?:1[6-9]|[2-9]\d)?\d{2})(\/|-|\.)(?:(?:(?:0?[1])\2(?:31))|(?:(?:0?[1,3-9]|1[0-2])\2(29|30))|(?:(?:0?[1-9])|(?:1[0-2]))\2(?:0?[1-9]|1\d|2[0-8]))))$/;
return patrn.test(s);
*dd-mm-yyyy格式或dd/mm/yyyy格式,年用两位表示亦可
*Regex author:Marco Storti
*支持1600年以后
function isDateDMY(s){
var patrn = /^(?:(?:31(\/|-|\.)(?:0?[1]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[]|[13579][26])|(?:(?:16|[]|[))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/;
return patrn.test(s);
*mm-dd-yyyy格式或mm/dd/yyyy格式,年用两位表示亦可
*Regex author:Michael Ash
*支持1600年以后
function isDateMDY(s){
var patrn =
/^(?:(?:(?:0?[1])(\/|-|\.)31)\1|(?:(?:0?[13-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[]|[13579][26])|(?:(?:16|[]|[))))$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/;
return patrn.test(s);
*日期时间:M/d/y hh:mm:ss
*Regex author:Michael Ash
*支持1600年以后
function isDateTimeMDY(s){
var patrn = /^(?=\d)(?:(?:(?:(?:(?:0?[1])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})|(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[]|[13579][26])|(?:(?:16|[]|[))))|(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2}))($|\ (?=\d)))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$/;
return patrn.test(s);
*日期时间 yyyy/mm/dd hh:mm:ss 或 yyyy-mm-dd hh:mm:ss
*Date Regex author:Michael Ash
*Modified by Shaw Sunkee
*支持1600年以后
function isDateTimeYMD(s){
var patrn = /^(?:(?:(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[]|[13579][26])|(?:(?:16|[]|[)))(\/|-|\.)(?:0?2\1(?:29)))|(?:(?:(?:1[6-9]|[2-9]\d)?\d{2})(\/|-|\.)(?:(?:(?:0?[1])\2(?:31))|(?:(?:0?[1,3-9]|1[0-2])\2(29|30))|(?:(?:0?[1-9])|(?:1[0-2]))\2(?:0?[1-9]|1\d|2[0-8]))))[ ]([0-1]?[0-9]|[2][0-3]):([0-5]?[0-9]):([0-5]?[0-9])$/;;
return patrn.test(s);
*hh:mm:ss 24小时制 0 ~ 23 hour
function isTime(s){
var patrn = /^([0-1]?[0-9]|[2][0-3]):([0-5]?[0-9]):([0-5]?[0-9])$/;
return patrn.test(s);
function toDate(s){
return s.replace(&-&,&&);
/*var sd=s.split(&-&);
return new Date(sd[0],sd[1],sd[2]);
* 是否包含非特殊字符(正常字符包括字母数字,下划线,和点号,空格,@#$% 和双字节)
* 若包含,返回 true
var validation_specialChars = new Array('\'','\&','\n','\r','\t',';',':','=','&','&',',','|','\\','&','&','/','^','~','`','$','#',' ');
function containsSpecialChar(str){
for(var i = 0;i&validation_specialChars.i++){
if(str.indexOf(validation_specialChars[i]) & -1){
* 判断是否为数字串(可在串前加&-&号,如:-123)
* 两种调用方式:
* 1.一个参数,不限制长度
* 2.三个参数,第二个参数表示允许的最小长度,第三个参数表示允许的最大长度
function isDigitString(){
return judgePattrnAndLen(&-?\\d&,arguments);
* 两种调用方式:
* 一种是一个参数,传入要验证的值
* 二种是带三个参数,第二和第三个参数分别代表最小长度和最大长度
function isLetter(){
return judgePattrnAndLen(&[A-Za-z]&,arguments);
* 大写字母
* 两种调用方式:
* 一种是一个参数,传入要验证的值
* 二种是带三个参数,第二和第三个参数分别代表最小长度和最大长度
function isUpperLetter(){
return judgePattrnAndLen(&[A-Z]&,arguments);
* 小写字母
* 两种调用方式:
* 一种是一个参数,传入要验证的值
* 二种是带三个参数,第二和第三个参数分别代表最小长度和最大长度
function isLowerLetter(){
return judgePattrnAndLen(&[a-z]&,arguments);
/**数字与字符串*/
function isLetterNumString(){
return judgePattrnAndLen(&[A-Za-z0-9]&,arguments);
/**数字,字母,下划线字符串*/
function isLNUString(s){
return judgePattrnAndLen(&\\w&,arguments);
* 传入一个简单的正则式串,要判定的值,传入限定最小长度和最大长度
function judgePattrnAndLen(){
var pat = arguments[0];
var as = arguments[1];
if(as == null || as == undefined || as.length == 0){
alert('no arguments.');
}else if(as.length == 1){
eval(&var patrn= /^& + pat + &+$/;&);
return eval(&patrn.test(as[0]);&);
}else if(as.length == 3){
if(isDigit(as[1]) && isDigit(as[2])){
eval(&patrn =& + &/^& + pat + &{& + as[1] + &,& + as[2] + &}$/;&);
return eval(&patrn.test(as[0]);&);
alert('error arguments:the 2nd argument and the 3rd argument must be number.');
alert('error arguments number');
Array.prototype.in_array = function(e)
for(i=0;i&this.i++)
if(this[i] == e)
String.prototype.Trim
function(){return
this.replace(/(^\s*)|(\s*$)/g,
* obj input_obj
* isAlert boolen
function isExtName(obj,isalert,msgType,showTarget){
var value = obj.
var ext = obj.getAttribute('ext');
var ext_arr = ext.split(',');
var s_num = value.lastIndexOf(&.&);
var lastname = value.substring(s_num,value.length).toLowerCase();
if(isalert)
if(ext_arr.in_array(lastname))
if(msgType){
tipsAppend(showTarget,lastname+L.file_format_error,'error','red');
showDialog(lastname+L.file_format_error, 'alert', L.file_format_error,'',0);
if(ext_arr.in_array(lastname))
//页面加载时验证
$(function(){
form_valid();
//验证页面所有input标签
function form_valid(){
var eles = $(&input,select&); //document.getElementsByTagName('input');
for(i=0;i&eles.i++){
var limit = eles[i].getAttribute(&limit&);
if(limit != null && limit != &&){
id = eles[i].getAttribute('id');
if(id !='' && id != null ){
ele_valid(id);
//通用元素离焦与focus验证方法
function ele_valid(id){
var obj = document.getElementById(id);
var msgArea = obj.getAttribute(&msgArea&);
var msg = obj.getAttribute('msg');
var tips = obj.getAttribute('title');
if(tips==null) tips='&';
$(&#&+id).blur(function(){
var url = obj.getAttribute('ajax');
var value=&&;
var aa = validElement(obj);
if (!aa) {
$(&#& + msgArea).removeClass('msg_tips').removeClass('msg_ok');
$(&#& + msgArea).html(&&i&&/i&&span&&+msg+&&/span&&);
//ajax验证
value = trim($(&#&+id).val());
if(!value.length){
$.post(url,function(data){
if($.trim(data)==true){
$(&#& + msgArea).addClass('msg').addClass('msg_ok').removeClass('msg_tips').removeClass('msg_error');
$(&#& + msgArea).html('&i&&/i&');
$(&#&+id).attr(&valid&,2);
$(&#& + msgArea).addClass('msg_error').removeClass('msg_tips').removeClass('msg_ok');
$(&#& + msgArea).html('&i&&/i&&span&'+data+'&/span&');
$(&#&+id).attr(&valid&,1);
//行业选择验证
if(($(&#indus_pid&).val() && $(&#indus_id&).val() == '') || ($(&#indus_pid&).val() == '' && $(&#indus_id&).val()) ){
var span_indus = &#& + msgA
if(span_indus == '#span_indus'){
$(&#span_indus&).addClass('msg_error').removeClass('msg_tips');
$(&#span_indus&).html(&&i&&/i&&span&请选择行业子分类&/span&&);
$(&#& + msgArea).addClass('msg_ok').removeClass('msg_tips').removeClass('msg_error');
$(&#& + msgArea).html(&&i&&/i&&);
$(&#& + msgArea).addClass('msg_ok').removeClass('msg_tips').removeClass('msg_error');
$(&#& + msgArea).html(&&i&&/i&&);
}).focus(function(){
$(&#& + msgArea).addClass('msg').removeClass('msg_ok').removeClass('msg_tips').removeClass('msg_error');
$(&#& + msgArea).html('');
Copyright(C)
OKBASE.NET All Rights Reserved 好库网 版权所有}

我要回帖

更多关于 cf小丑模式找不到 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信