这篇文章主要围绕javascript–验证数据掩码和js验证用户输入的密码代码展开,旨在为您提供一份详细的参考资料。我们将全面介绍javascript–验证数据掩码的优缺点,解答js验证用户输入的密码
这篇文章主要围绕javascript – 验证数据掩码和js验证用户输入的密码代码展开,旨在为您提供一份详细的参考资料。我们将全面介绍javascript – 验证数据掩码的优缺点,解答js验证用户输入的密码代码的相关问题,同时也会为您带来Eclipse去除js(JavaScript)验证错误_javascript技巧、JavaScript DOM 编程艺术(第2版)读书笔记(JavaScript的最佳实践)_javascript技巧、javascript form 验证函数 弹出对话框形式_javascript技巧、javascript html5实现表单验证_javascript技巧的实用方法。
本文目录一览:- javascript – 验证数据掩码(js验证用户输入的密码代码)
- Eclipse去除js(JavaScript)验证错误_javascript技巧
- JavaScript DOM 编程艺术(第2版)读书笔记(JavaScript的最佳实践)_javascript技巧
- javascript form 验证函数 弹出对话框形式_javascript技巧
- javascript html5实现表单验证_javascript技巧
javascript – 验证数据掩码(js验证用户输入的密码代码)
<strike><input type="text" data-mask="a-99999999-9"></strike>
我需要你去哪里“a”只能获得字母“VEJPG”.
如果有人知道如何做到这一点,谢谢.
解决方法
这将有效:
<strike><input type="text" data-mask="A-99999999-9"></strike>
如果你想要第一个字母只有V或E或J或P或G,那么你必须在javascript中调用掩码构造函数如下:
$("#idOfTextInput").mask("v-9999999-9",{translation: {'v':{pattern:/[VEJPG]/}}});
Eclipse去除js(JavaScript)验证错误_javascript技巧
第一步:
去除eclipse的JS验证:
将windows->preference->Java Script->Validator->Errors/Warnings->
Enable Javascript Sematic validation前面的勾去掉;
第二步:
右键项目 -> properties -> Builders 去掉JavaScript Validator 前面的勾
如果Builders中没有JavaScript Validator这一项。那么去.project文件中修改如下内容:
找到项目目录,删除项目目录里的 .project 文件中的以下部分:
和
注意,修改.project文件可能会要求重启eclipse,或者在eclipse中关闭该工程,然后重新打开工程。
第三步:
复制该js文件到某个地方,然后从eclipse中直接删除 了报错的js文件,错误消失,再把刚才那
个js文件拷进来。
如果以上做了之后还不对的吧,就在Eclipse中打开Problems view,选中相关的错误,根据提示,进行解决。
JavaScript DOM 编程艺术(第2版)读书笔记(JavaScript的最佳实践)_javascript技巧
1、防止滥用JavaScript“不管你想通过JavaScript改变哪个网页的行为,都必须三思而后行。首先要确认:为这个网页增加这种额外的行为是否确有必要?”
个人认为,作者的这句话放在当前几乎无处不用JavaScript来增强Web页面交互体验的时代,可以理解为应该适当的使用JavaScript,而不要因为使用了实现酷炫效果的脚本导致网页加载缓慢或者兼容性极差而舍本求末,导致用户无法浏览和使用网站。
2、平稳退化平稳退化是指当用户禁用浏览器JavaScript或浏览器不支持JavaScript(还有吗)时,应该让用户仍然可以正常的浏览网站。
刚看到这个问题的时候,感觉这种情况几乎可以忽略不计,因此看了一些关于这个问题的讨论(知乎)以及博文《javascript不可用的问题探究》,并拿博客园首页做了实验,即在禁用JavaScript的情况下浏览网页,发现虽然无法评论博客、无法正常显示分类效果、当然广告也没了,但是主要的功能(查看博文、分页跳转等)是可以正常使用的。
那么基本可以得出结论:在考虑平稳退化的时候,根据需要至少应该保证网站主要功能可以正常使用。对博客园来说,就是查看博客。
3、禁用"javascript:"伪协议和内嵌事件处理函数虽然在HTML中使用这两种写法,不会带来什么严重问题,但是它会阻止平稳退化(网页行为不一致),并且使脚本的编写方式混乱,增加了代码维护的难度。
4、性能考虑关于性能考虑的最佳实践,还是非常容易理解的。
“尽量少访问DOM和尽量减少标记”。少访问DOM是因为查询DOM的操作会非常耗费性能。多处函数的重复DOM查询应该进行重构,提取为全局变量或者直接作为参数进行传递。减少标记可以减小DOM的规模,从而减少查找DOM树中特定元素的时间。
“合并脚本”。合并外部脚本文件,可以减少加载页面时发送的请求次数。通过观察Chrome开发者工具Network标签,可以非常清楚的看到加载网页的请求次数和时间,下图为请求我的博客的情况,第三方的百度分享插件是最慢被加载的,当然整体加载时间还是可以接受的。不过当引用的文件过多过大,或者依赖的第三方插件请求缓慢时,整个页面就会一直处于加载状态,给人的感觉就是网页加载缓慢,体验就会变差。
另外,“脚本在标记中的位置对页面的初次加载时间也有很大的影响”。就像bootstrap的实例中,引用的JS插件统统放在了页面的尾部,并加了说明。
因为根据HTTP规范,浏览器每次从同一个域名中最多只能同时下载两个文件,而在脚本下载期间,浏览器不会下载其它任何文件,即使是来自不同域名的文件也不会下载,所有其它的资源都要等脚本加载完毕后才会下载;而通常我们会把脚本文件放在块中,此时该块中的脚本会导致浏览器无法并行加载其它文件(如图片或其它脚本)。
把所有 <script> 标签放在文档的末尾,</script>
javascript form 验证函数 弹出对话框形式_javascript技巧
/**
* 得到中英文字符长
* @param {} str
* @return {}
*/
function LengthB(str){
var p1 = new RegExp(''%u..'', ''g'')
var p2 = new RegExp(''%.'', ''g'')
return escape(str).replace(p1, '''').replace(p2, '''').length
}
/**
* 过滤所有空格字符
* @param {Object} str
*/
function jsTrim(str){
str += "";
while ((str.charAt(0) == '' '') || (str.charAt(0) == ''???'') || (escape(str.charAt(0)) == ''%u3000''))
str = str.substring(1, str.length);
while ((str.charAt(str.length - 1) == '' '') || (str.charAt(str.length - 1) == ''???'') || (escape(str.charAt(str.length - 1)) == ''%u3000''))
str = str.substring(0, str.length - 1);
return str;
}
/**
* 过滤中间字符串和多个空格
* @param {Object} inputString
*/
function trim(inputString){
if (typeof inputString != "string") {
return inputString;
}
var retValue = inputString;
var ch = retValue.substring(0, 1);
while (ch == " ") {
//检查字符串开始部分的空格
retValue = retValue.substring(1, retValue.length);
ch = retValue.substring(0, 1);
}
ch = retValue.substring(retValue.length - 1, retValue.length);
while (ch == " ") {
//检查字符串结束部分的空格
retValue = retValue.substring(0, retValue.length - 1);
ch = retValue.substring(retValue.length - 1, retValue.length);
}
while (retValue.indexOf(" ") != -1) {
//将文字中间多个相连的空格变为一个空格
retValue = retValue.substring(0, retValue.indexOf(" ")) + retValue.substring(retValue.indexOf(" ") + 1, retValue.length);
}
return retValue;
}
/**
* 过滤字符串,指定过滤内容,如果内容为空,则默认过滤 ''~!@#$%^&*()-+."
* @param {Object} str
* @param {Object} filterStr
*
* @return 包含过滤内容,返回True,否则返回false;
*/
function FilterStr(str, filterStr){
filterStr = filterStr == "" ? "''~!@#$%^&*()-+.\"" : filterStr
var ch;
var i;
var temp;
var error = false;//当包含非法字符时,返回True
for (i = 0; i ch = filterStr.charAt(i);
temp = str.indexOf(ch);
if (temp != -1) {
error = true;
break;
}
}
return error;
}
/**
* 过滤指定内容字符串
* @param {Object} str 检查字符串
* @param {Object} filterStr 过滤字符串,内容为空,则默认过滤 ''~!@#$%^&*()-+."
* @param {Object} alertStr 弹出对话内容
* @param {Object} idStr 出错返回出错字段ID
*/
function ISFilterStr(str, filterStr, alertStr, idStr){
alertStr = "对不起,您输入的 " + alertStr + " 不允包含 " + filterStr + " 非法字符";
if (FilterStr(str, filterStr))
this.AlertAndRFalse(alertStr, idStr);
}
/**
* 检查是否为网址
* @param {} str_url
* @param {} alertStr 弹出字段内容
* @param {} idStr 光标定位的字段ID只能接收ID
* @return {Boolean} 不是网址返回false;
*/
function IsURL(str_url, alertStr, idStr){// 验证url
alertStr = alertStr + " 格式不正确!";
var strRegex = "^((https|http|ftp|rtsp|mms)?://)" +
"?(([0-9a-z_!~*''().&=+$%-]+: )?[0-9a-z_!~*''().&=+$%-]+@)?" // ftp的user@
+
"(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184
+
"|" // 允许IP和DOMAIN(域名)
+
"([0-9a-z_!~*''()-]+\.)*" // 域名- www.
+
"([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名
+
"[a-z]{2,6})" // first level domain- .com or .museum
+
"(:[0-9]{1,4})?" // 端口- :80
+
"((/?)|" // a slash isn''t required if there is no file name
+
"(/[0-9a-z_!~*''().;?:@&=+$,%#-]+)+/?)$";
var re = new RegExp(strRegex);
if (!re.test(str_url))
this.AlertAndRFalse(alertStr, idStr);
}
/**
* 检查是否为电子邮件
* @param {} str
* @param {} alertStr 弹出字段内容
* @param {} idStr 光标定位的字段ID只能接收ID
* @return {Boolean} 不是电子邮件返回false;
*/
function IsEmail(str, alertStr, idStr){
alertStr = alertStr + " 格式不正确!";
var re = /^([a-zA-Z0-9]+[_|\-|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\-|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
if (!re.test(str))
this.AlertAndRFalse(alertStr, idStr);
}
/**
* 检查是否为数字
* @param {} str
* @param {} alertStr 弹出字段内容
* @param {} idStr 光标定位的字段ID只能接收ID
* @return {Boolean} 不是数字返回false;
*/
function IsNum(str, alertStr, idStr){
alertStr = alertStr + " 应该由数字组成!";
var re = /^[\d]+$/
if (!re.test(str))
this.AlertAndRFalse(alertStr, idStr);
}
/**
* 检查数值是否在给定范围以内
* @param {} str_num
* @param {} moreLen 应该大于或者等于的数值
* @param {} lessLen 应该小于或者等于的数值
* @param {} alertStr 弹出字段内容
* @param {} idStr 光标定位的字段ID只能接收ID
* @return {Boolean} 小于最小数值或者大于最大数值数字返回false;
*/
function IsRangeNum(str_num, moreLen, lessLen, alertStr, idStr){
IsNum(str_num, alertStr, idStr);
if (moreLen != "") {
alertStr = alertStr + " 数值不能小于 " + moreLen;
if (str_num this.AlertAndRFalse(alertStr, idStr);
}
if (lessLen != "") {
alertStr = alertStr + " 数值不能大于 " + lessLen;
if (str_num > lessLen)
this.AlertAndRFalse(alertStr, idStr);
}
if (moreLen == "" && lessLen == "")
this.AlertAndRFalse("没有定义最大最小长度!", idStr);
}
/**
* 检查是否为合格字符串(不区分大小写)
* 长度在6至20位,并且是由a-z0-9_组成的字符串
* @param {} str 检查的字符串
* @param {} alertStr 弹出字段内容
* @param {} idStr 光标定位的字段ID只能接收ID
* @return {Boolean} 不是"长度在6至20位且由a-z0-9_"组成返回false;
*/
function IsLicit(str, alertStr, idStr){
alertStr = "对不起," + alertStr + " 不能为空并且只能由 0到9 a到z 下划线 的6到20位组成! ";
var re = /^[_0-9a-zA-Z]{6,20}$/
if (!re.test(str))
this.AlertAndRFalse(alertStr, idStr);
}
/**
* 检查二个字符串是否相等
* @param {} str1 第一个字符串
* @param {} str2 第二个字符串
* @param {} alertStr 弹出字段内容
* @param {} idStr 光标定位的字段ID只能接收ID
* @return {Boolean} 字符串不相等返回false;
*/
function IsStrEquals(str1, str2, alertStr, idStr){
alertStr = "二次 " + alertStr + " 不一致!";
if (str1 != str2)
this.AlertAndRFalse(alertStr, idStr);
}
/**
* 检查字符串是否在给定长度范围以内(中文字符以2个字节计算)
*
* @param {} str 检查的字符
* @param {} moreLen 应该大于或者等于的长度
* @param {} lessLen 应该小于或者等于的长度
* @param {} alertStr 弹出字段内容
* @param {} idStr 光标定位的字段ID只能接收ID
* @return {Boolean} 小于最小长度或者大于最大长度数字返回false;
*/
function IsRange(str, moreLen, lessLen, alertStr, idStr){
var strLen = LengthB(str);
if (moreLen != "") {
alertStr = alertStr + " 应该大于或等于 " + moreLen + " 个字节长度!";
if (strLen this.AlertAndRFalse(alertStr, idStr);
}
if (lessLen != "") {
alertStr = alertStr + " 应该小于或等于 " + lessLen + " 个字节长度!";
if (strLen > lessLen)
this.AlertAndRFalse(alertStr, idStr);
}
if (moreLen == "" && lessLen == "")
this.AlertAndRFalse("没有定义最大最小长度!", idStr);
}
/**
* 检查字符串是否小于给定长度范围(中文字符以2个字节计算)
* @param {} str 字符串
* @param {} lessLen 小于或等于长度
* @param {} alertStr 弹出字段内容
* @param {} idStr 光标定位的字段ID只能接收ID
* @return {Boolean} 大于给定长度数字返回false;
*/
function IsLess(str, lessLen, alertStr, idStr){
IsRange(str, "", lessLen, alertStr, idStr);
}
/**
* 检查字符不为空
* @param {} str
* @param {} alertStr 弹出字段内容
* @param {} idStr 光标定位的字段ID只能接收ID
* @return {Boolean} 字符为空返回false;
*/
function IsEmpty(str, alertStr, idStr){
alertStr = alertStr + " 不能为空!";
if (str == "")
this.AlertAndRFalse(alertStr, idStr);
}
/**
* 弹出警示框,并定位到出错字段上
* @param {} alertStr 弹出警告框内容
* @param {} idStr 返回字段焦点
* @return {Boolean} 返回false
*/
function AlertAndRFalse(alertStr, idStr){
alert(alertStr);
document.getElementById(idStr).focus();
throw "valueErr";
}
// JavaScript Document
调用示例
function checkForm() {
try {
var title = trim(document.getElementById(''title'')); //文章标题
IsEmpty(title,"文章标题","title");//不可为空
IsLess(title,100,"文章标题","title");//标题应少于100个字符长
ISFilterStr(title, "~`!@#$%^&*()-=_+[]{}|\\;'':\",./?", "文章标题","title")//标题不允许包含这些非法字符
} catch(err) {
if(err == "valueErr")
return false;
}
}
javascript html5实现表单验证_javascript技巧
表单验证为终端用户检测无效的数据并标记这些错误,是一种用户体验的优化。
下面展现浏览器自带的验证功能也可在移动端中查看:
HTML部分:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0"> <title>html5 表单验证</title> </head> <body> <form action="#" id="formValid"novalidate="novalidate" onsubmit="return checkForm()"> <fieldset> <div> <label for="name">名称</label> <div> <input type="text"id="name" name="name" required/> <span>不能为空</span> </div> </div> <div> <label for="email">邮箱</label> <div> <input type="email"id="email" name="email" required/> <span>邮箱格式不正确</span> </div> </div> <div> <label>省份</label> <select name="province"> <option value="">请选择</option> <option value="s">四川</option> <option value="c">重庆</option> </select> </div> <input type="submit"value="提交"/> </fieldset> </form> </body> </html>
CSS部分:
fieldset{border: 0;} .myform .form-control{ display: block; padding: 5px; width: 100% } .myform input:focus:invalid + .form-error{ display: inline; } .myform .form-error{ display: none; position: absolute; margin-top: .7em; padding: 1px 2px; color: #fff; font-size: .875rem; background: #f40; } .myform .form-error:after{ position: absolute; content: ""; top: -.5em; left: .5em; z-index: 100; display: inline-block; width: 0; height: 0; vertical-align: middle; border-bottom: .5em solid #f40; border-right: .5em solid transparent; border-left: .5em solid transparent; border-top: 0 dotted; transform: rotate(360deg); overflow: hidden; } .btn{ padding: 5px 20px; }
JavaScript部分:
立即学习“Java免费学习笔记(深入)”;
function checkForm(){ var myform = document.getElementById("formValid"); return check(myform.elements); } function check(eles){ var ele; for(var i = 0;i<eles.length;i++){ ele = eles[i]; if(ele.nodeName == "SELECT"){ if(!ele.selectedIndex){ alert("请选择省份"); return false; } }else if(ele.name){ if(!ele.checkValidity()){ ele.focus(); return false; } } } return true; }
以上就是javascript结合html5实现表单验证的全部代码,希望对大家的学习有所帮助。
今天关于javascript – 验证数据掩码和js验证用户输入的密码代码的分享就到这里,希望大家有所收获,若想了解更多关于Eclipse去除js(JavaScript)验证错误_javascript技巧、JavaScript DOM 编程艺术(第2版)读书笔记(JavaScript的最佳实践)_javascript技巧、javascript form 验证函数 弹出对话框形式_javascript技巧、javascript html5实现表单验证_javascript技巧等相关知识,可以在本站进行查询。
本文标签: