JS 高手请进 ,!!!

问题描述

怎么用JS 判断输入串是否符合 标识符 的规范,禁止输入串是合法的标识符? 问题补充:1楼的是很全面的 但是我需要判断是否是 标识符 的JS哦

解决方案

引用 但是我需要判断是否是 标识符 的JS哦 别再犹豫! 蔡老板经典用法! 满足你! 呵呵function isValidIdentifier(str){ try{ eval("var "+str+"=0;"); return true; }catch(e){ return false; } }
解决方案二:
function isValidIdentifier(str){try{eval("var "+str+"=0;");return true;}catch(e){return false;}}我也是来膜拜的
解决方案三:

解决方案四:
引用定义一个,报错了就是不能用的!这个必须得顶!!!!!
解决方案五:
定义一个,报错了就是不能用的!经典用法! function isValidIdentifier(str){ try{ eval("var "+str+"=0;"); return true; }catch(e){ return false; } }
解决方案六:
function isValidIdentifier(str){try{eval("var "+str+"=0;");return true;}catch(e){return false;}}定义一个,报错了就是不能用的!
解决方案七:
那你就要参考规范了,什么不能以数字开头了,开头不能是特属字符了,一个个来!
解决方案八:
嗯。楼上的很全面了。可以好好参考!
解决方案:
JS判断字符串格式是否合法 /** * 浏览器脚本函数列表 * boolean isNumber(numStr) :判断字符串是否是数值格式 * boolean isValidString(szStr) :判断字符串中是否含有非法字符"'"><" * boolean isBlank(szStr) :判断字符串是否为空字符串(或不包含除空格外的其他字符) * String trim(szStr) :去掉字符串两端的空格 * boolean isDateStr(ds) :判断字符串是否为合法的日期格式:YYYY-MM-DD HH:MM:SS * 或 YYYY-MM-DD 或 HH:MM:SS * boolean isDatePart(dateStr) :判断字符串是否为合法的日期格式:YYYY-MM-DD * boolean isTimePart(dateStr) :判断字符串是否为合法的时间格式:HH:MM:SS * boolean chk_email(emailAddress) :判断邮件地址格式是否合法 *//*********************************************************************** * 判断一个字符串是否是数值格式 */function isNumber(numStr){ return !isNaN(numStr);}/*********************************************************************** * 判断一个字符串中是否含有下列非法字符 */voidChar = "'"><";function isValidString(szStr){ for(i = 0 ; i < voidChar.length; i ++){ aChar = voidChar.substring(i, i + 1); if(szStr.indexOf(aChar) > -1){ return false; } } return true;}/*********************************************************************** * 判断一个字符串是否为空字符串 */function isBlank(szStr){ if(szStr.length < 1){ return true; } for(i = 0; i < szStr.length; i ++){ if(szStr.substring(i, i + 1) != ' '){ return false; } } return true;}/*********************************************************************** * 去掉一个字符串两端的空格 */function trim(szStr){ //去掉字符串头部的空格 while(szStr.length > 0){ if( szStr.substring(0, 1) != ' '){ break; }else{ szStr = szStr.substring(1); } } //去掉字符串尾部的空格 while(szStr.length > 0){ if( szStr.substring(szStr.length - 1, szStr.length) != ' '){ break; }else{ szStr = szStr.substring(0,szStr.length - 1); } } return szStr;}/*********************************************************************** * 判断一个字符串是否为合法的日期格式:YYYY-MM-DD HH:MM:SS * 或 YYYY-MM-DD 或 HH:MM:SS */function isDateStr(ds){ parts = ds.split(' '); switch(parts.length){ case 2: if(isDatePart( parts[0] ) == true && isTimePart( parts[1] )){ return true; }else{ return false; } case 1: aPart = parts[0]; if(aPart.indexOf(':') > 0 ){ return isTimePart(aPart); }else{ return isDatePart(aPart); } default: return false; }}/*********************************************************************** * 判断一个字符串是否为合法的日期格式:YYYY-MM-DD */function isDatePart(dateStr){ var parts; if(dateStr.indexOf("-") > -1){ parts = dateStr.split('-'); }else if(dateStr.indexOf("/") > -1){ parts = dateStr.split('/'); }else{ return false; } if(parts.length < 3){ //日期部分不允许缺少年、月、日中的任何一项 return false; } for(i = 0 ;i < 3; i ++){ //如果构成日期的某个部分不是数字,则返回false if(isNaN(parts[i])){ return false; } } y = parts[0];//年 m = parts[1];//月 d = parts[2];//日 if(y > 3000){ return false; } if(m < 1 || m > 12){ return false; } switch(d){ case 29: if(m == 2){ //如果是2月份 if( (y / 100) * 100 == y && (y / 400) * 400 != y){ //如果年份能被100整除但不能被400整除 (即闰年) }else{ return false; } } break; case 30: if(m == 2){ //2月没有30日 return false; } break; case 31: if(m == 2 || m == 4 || m == 6 || m == 9 || m == 11){ //2、4、6、9、11月没有31日 return false; } break; default: } return true;}/*********************************************************************** * 判断一个字符串是否为合法的时间格式:HH:MM:SS */function isTimePart(timeStr){ var parts; parts = timeStr.split(':'); if(parts.length < 2){ //日期部分不允许缺少小时、分钟中的任何一项 return false; } for(i = 0 ;i < parts.length; i ++){ //如果构成时间的某个部分不是数字,则返回false if(isNaN(parts[i])){ return false; } } h = parts[0];//年 m = parts[1];//月 if( h < 0 || h > 23){ //限制小时的范围 return false; } if( m < 0 || h > 59){ //限制分钟的范围 return false; } if(parts.length > 2){ s = parts[2];//日 if( s < 0 || s > 59){ //限制秒的范围 return false; } } return true;}function chk_email(email){ invalid = ""; if (!email){} //invalid = "请输入您的Email地址。"; else { if ( (email.indexOf("@") == -1) || (email.indexOf(".") == -1) ) invalid += "nnEmail地址不合法。应当包含'@'和'.';例如('.com')。请检查后再递交。"; if (email.indexOf("your email here") > -1) invalid += "nnEmail地址不合法,请检测您的Email地址,在域名内应当包含'@'和'.';例如('.com')。"; if (email.indexOf("\") > -1) invalid += "nnEmail地址不合法,含有非法字符(\)。"; if (email.indexOf("/") > -1) invalid += "nnEmail地址不合法,含有非法字符(/)。"; if (email.indexOf("'") > -1) invalid += "nnEmail地址不合法,含有非法字符(')。"; if (email.indexOf("!") > -1) invalid += "nnEmail地址不合法,含有非法字符(!)。"; if ( (email.indexOf(",") > -1) || (email.indexOf(";") > -1) ) invalid += "nn只输入一个Email地址,不要含有分号和逗号。"; if (email.indexOf("?subject") > -1) invalid += "nn不要加入'?subject=...'。"; } if (invalid == ""){ return true; }else{ alert("输入的Email可能包含错误:" + invalid); return false; }}

时间: 2024-09-16 23:38:08

JS 高手请进 ,!!!的相关文章

php curl采集高手请进

问题描述 php curl采集高手请进 http://www.lecai.com/ 这个网站怎么用php/url技术进行模拟登录?求参考程序..... 解决方案 我大致看了一下,个人习惯使用Snoopy.class.php模拟登陆,觉得不好可以忽略 POST http://www.lecai.com/user/ajax_login.php HTTP/1.1Host: www.lecai.comUser-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:3

微积分-vc 数字图像处理高手请进!

问题描述 vc 数字图像处理高手请进! 图像的梯度锐化 看到上面的公式,我叫一个晕,请问这是哪里才能学到呀?什么意思呀?还需要学习微积分吗? 解决方案 这个公式你仔细琢磨就懂了,第一个实际上是数字的差分,求得是点(i,j)的x和y方向的微分值的和,这里理解为这个像素点的梯度值.第二个就是锐化的过程,当梯度值大于某个阈值时,锐化的结果即此点的梯度值,若梯度小于那个阈值,则锐化的结果是原像素的值. 像这类比较基础的图像处理方法,建议你看一下清华大学章毓名教授写的<图像工程>. 解决方案二: 数字图

apt-ubuntu 高手请进,yara not found

问题描述 ubuntu 高手请进,yara not found 用apt-get intstall yara后,还是出现了configure: error: yara not found 请问为什么会这样,好烦啊,在线求高手解答 解决方案 spt-get install 是安装命令, 如果系统没有找到 yara 的安装包,就会这样. 查查 ubuntu 的在线安装配置. 解决方案二: 一个是看是否安装成功,其次看安装的yara能否执行,有没有错误.

c语言-C语言高手请进:这个分块求和C语言程序问题出在哪里??对一组无规律数据按正数、负数和零分块求和,

问题描述 C语言高手请进:这个分块求和C语言程序问题出在哪里??对一组无规律数据按正数.负数和零分块求和, 对一组无规律数据按正数.负数和零分块求和,即要求将序列中相邻的正数.零及负数分块累加输出,格式要求: 源数据: 2,3,8,6,0,0,-2,-1,-4,0,5,6,7,-5,-2,...(共100个) 整理输出为: 2,5,13,19,0,0,-2,-3,-7,0,5,11,18,-5,-7...(共100个) 以下程序哪里出了问题?我搞了2星期,总是得不到完整输出: int main(

高分悬赏 请大神指导-VBA高手请进 懂得webbrowser

问题描述 VBA高手请进 懂得webbrowser 请问如何通过VBA能够获取网页弹出窗体的Docuement对象,我是要操作弹出窗体里面的一线控件完成自动复制! 我现在可以获取到主页面的Document对象.

hbm-Hibernate 帅哥高手请进...关于Hibernate的三表关联,在线等...

问题描述 Hibernate 帅哥高手请进...关于Hibernate的三表关联,在线等... 表1: File (FID,Fname) 表2: UserGroup(GID,Gname) 表3: ActionPermissions(PID,Pname) 表4: File_Group_Permissions(ID,FID,GID,PID) 用四个表完成给某个文件指定用户组每个用户组指定权限,一文件对应多个用户组 每个用户组针对这个文件有不同的操作权限.Hibernate应该如何配置,表结构是否合理

vb参数传递-VB高手请进!在线等。。——shell使用dos命令时参数的传递

问题描述 VB高手请进!在线等..--shell使用dos命令时参数的传递 怎样才能将%LOGPATH%所替代的内容传递到其中? (不要写成调用bat的形式) 解决方案 不行的,%logpath%不能包在括号里,应该这样 Shell "cmd /k mkdir "+LOGPATH+" > nul 2>&1", vbNormalNoFocus vb调用dos是直接运行引号内的,而不给某一变量赋值.另外包在百分号内的是bat变量而不是vb的变量 解决

多线程-高手请进!!!---线程安全问题,怎么解决new String 问题

问题描述 高手请进!!!---线程安全问题,怎么解决new String 问题 场景是:一个订单号只能一个在付款,只能一个线程处理,不同的订单号支持并发处理 现在如果是new String("20140719140818");就有问题怎么解决 如果不是new出来的,什么情况会出现问题 public class Test { public static void main(String[] args) { new Thread(){ public void run(){ pay(&quo

贝叶斯+mahout-朴素贝叶斯分类问题 高手请进

问题描述 朴素贝叶斯分类问题 高手请进 网上资料讲mahout 贝叶斯的很多,都是讲准备数据,划分测试集训练集,测试训练样本...但是,之后呢?有了这个测试很好的模型,怎么对其他的数据分类啊?比如我通过mahout进行朴素贝叶斯分类,得到训练集,测试也很好,那么有了这个训练集之后怎么对其他数据进行分类呢.说的越详细越好. 解决方案 运行mahout的朴素贝叶斯分类器 1.准备数据1.1 下载数据集,并解压 wget http://people.csail.mit.edu/jrennie/20Ne