手机版

简单js表单验证功能

时间:2021-11-15 来源:互联网 编辑:宝哥软件园 浏览:

在网站制作中,表单验证的功能非常常见。有时候用一些成型的js控件比较方便,但是太大了,很难维护(我的js水平不高),所以就自己写了一个。至于是否灵活,请给我们一些建议(上图很丑,请不要介意):

代码:复制代码代码如下:表单验证射流研究…代码var fv={ lang: 'zh-cn ',//错误提示语言inValidedStr: '=',//初始随意复制,使其长度不为0邮件:函数(elementID) //验证邮件地址合法,elementID为投入文本输入框的ID { if(ElEMENTid==null)}返回true} else { var reg=/^[\w-] (\ .[\w-] )*@[\w-] (\ .[\ w-])$/;if(reg。测试)文档。getelementbyid(元素id)).值)){ Fv。invalidedstr=Fv。无效的tr。替换(/mail/g ');Fv。invaliedstr=Fv。无效。替换('=',' ');validMsg(fv.lang,' mail ',' MailInfo ');} else { Fv。invalidedstr=Fv。无效的邮件;errorMsg(fv.lang,' mail ',' MailInfo ');} } },用户名:函数(elementID) //验证用户名合法字母数字下划线,长度为6-20 { if(ElEMENTid==null)}返回true } else { var reg=/^[a-za-z0-9_]{5,19}$/;if(reg。测试)文档。getelementbyid(元素id)).值)){ Fv。invalidedstr=Fv。无效的tr。替换(/username/g ');Fv。invaliedstr=Fv。无效。替换('=',' ');validMsg(fv.lang,' username ',' usernameInfo ');} else { Fv。invaliedstr=Fv。无效的用户名;errorMsg(fv.lang,' username ',' usernameInfo ');} } }, //.可以加其他验证isValid:函数(){ return(Fv。无效的tr。长度==0);}};//验证成功时的信息elementID为信息提示的超文本标记语言单元的idfunction validMsg(lang,valueType,元素id){ var msgInfo=' ';var isCn=lang==' zh-cnswitch(ValueType){ case ' mail ' : msgInfo=IScn?' 地址正确: ' 邮件地址有效;打破;大小写用户名' : msgInfo=isCn '? 成功: ' 账户有效;打破;大小写密码' : msgInfo=isCn?' 成功: ' 有效格式!打破;//.对应增加其他情况default: break}文档。getelementbyid(元素id).innerHTML=msgInfodocument。getelementbyid(元素id)。风格。颜色='绿色';}//验证失败时的信息函数errorMsg(lang,valueType,元素id){ var msgInfo=' ';var isCn=lang==' zh-cnswitch(ValueType){ case ' mail ' : MSginfo=IScn? 请输入正确的邮件地址: ' 电子邮件格式错误,请输入正确的格式。如[电子邮件受保护]';打破;大小写username': msgInfo=isCn?' 长度6-20个字符,只能为数字,字母,下划线组成: ' 账户刚刚;打破;大小写密码' : msgInfo=isCn '? 密码为……':'无效格式!打破;//.对应增加其他情况default: break}文档。getelementbyid(元素id).innerHTML=msgInfodocument。getelementbyid(元素id)。风格。颜色='红色';}前台代码(aspx页面):复制代码代码如下:前台aspx页面代码!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN ' ' http://www .w3。L1-过渡时期。DTD ' html xmlns=' http://www .w3。org/1999/XHTML ' head runat=' server ' title/title脚本类型=' text/JAVAScript ' src=' http 3360 common/Js/form valid。js '/脚本如去掉此行,则默认为中文提示*//脚本输入类型=' text ' name=' mail ' ID=' mail ' on bull=' Fv。mail(' mail ')'/span ID=' MailInfo '/span br/ASP : textbox ID=' username ' runat=' server ' on bull=' Fv。用户名(' username ')/asp:文本框ID=' usernameInfo '/span br/输入类型=' Submit ' onclick=' return Fv。isvalid()'值=' Submit '/div/然后,如果需要其他的验证,则加入即可。

相关正则表达式复制代码如下:匹配汉字的正则表达式:【u4e00-u9fa5】注释:匹配中文真的很头疼,双字节字符(包括汉字)很容易和这个表达式匹配:【x00-xff】注释:可以用来计算字符串的长度(一个双字节字符算2,ASCII字符算1)来匹配空行的规律性。)[^]*.*?| .*?/Comment:网上流传的版本太差了,上面的一个只能匹配部分,但对于复杂的嵌套标签仍然不能匹配前导和尾随空白字符的正则表达式:s * | s * $ Comment:可用于删除空白字符(包括空格、制表符、分页符等)。)在一行的开头和结尾。一个非常有用的表达式匹配Email address的正则表达式:w([-]。]w )*@w ([-。]w )*。w ([-。]w )*备注:匹配网站URL的正则表达式在表单验证中非常实用:[a-za-z] ://[s] *备注:以上基本可以满足匹配账号是否合法的要求(以字母开头,允许5-16字节,允许字母数字下划线):[a-za-z] [a-za-z0-9 _] {4,15}$备注:验证表单时匹配国内电话号码非常实用:d{3}-d{8}|d{4}-d{7}备注:匹配表单为0511-4405222或021-8788822匹配腾讯QQ号:[1-9] [0-9] {。d)备注:中国邮政编码为6位匹配身份证:d{15}|d{18}备注:中国身份证为15位或18位匹配ip地址:d .d .d .d备注:提取ip地址时匹配特定数字很有用:[1-9]d * $//匹配正整数-[1-9]。[1-9]d*$ //匹配整数[1-9]d * | 0 $//匹配非负整数(正整数0)-[1-9]d * | 0 $//匹配非正整数(负整数0) [1-9] d *。d * | 0。([1-9]d*。d*|0.d*[1-9]d*|0? 0 | 0)$//匹配浮点数[1-9] d *。d * | 0.d * [1-9] d * | 0? 0 | 0 $//匹配非负浮点数(正浮点数0) (-([1-9] d *)。d * | 0 . d *[1-9]d *)| 0? 0 | 0 $//匹配非正浮点数(负浮点数0)注释:在处理大量数据时很有用。应用时注意特定字符串的纠正和匹配:[a-za-z]$//匹配由26个英文字母组成的字符串[a-z]$//匹配由26个英文字母组成的大写字符串[a-z]$//匹配由26个英文字母组成的小写字符串[a-za-z0-9]。/匹配由数字、26个英文字母或下划线组成的字符串。使用正则表达式验证器时的验证函数及其验证表达式描述如下:只能输入数字:“[0-9] * $”只能输入n位数字;“d {n} $”只能输入至少n位数字:“d {n,} $”只能输入m-n位数字;“d {m,n} $”只能输入以零和非零开头的数字;“(0 | [1-9] [0-9] *) $”只能输入两位小数的正实数:“[0-9](。[0-9].只能输入小数点后1-3位的正实数:“[0-9]”(。[0-9] {1,3})?“$”只能输入非零正整数:“?[1-9][0-9]*$ "只能输入非零负整数;“-[1-9] [0-9] * $”只能输入长度为3的字符;".{3} $”只能输入由26个英文字母组成的字符串:“[a-za-z] $”“$”只能输入由26个小写英文字母组成的字符串:“[a-z] $”只能输入由数字和26个英文字母组成的字符串[a-za-z0-9] $”只能输入由数字、26个英文字母或下划线组成的字符串:“^w $”验证用户密码:”[a。

验证是否含有^%',=?前台aspx页面代码!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN ' ' http://www .w3。L1-过渡时期。DTD ' html xmlns=' http://www .w3。org/1999/XHTML ' head runat=' server ' title/title脚本类型=' text/JAVAScript ' src=' http 3360 common/Js/form valid。js '/脚本如去掉此行,则默认为中文提示*//脚本输入类型=' text ' name=' mail ' ID=' mail ' on bull=' Fv。mail(' mail ')'/span ID=' MailInfo '/span br/ASP : ext box ID=' username ' runat=' server ' on bull=' Fv。用户名(' username ')/ASP : ext box span ID=' usernameInfo '/span br/输入类型=' Submit ' onclick=' return Fv。isvalid()'值=' Submit '/div/等字符:"[^%',=?$x22]"只能输入汉字:"^[u4e00-u9fa5],{0,}$ "验证电子邮件地址:"^w .]w )*@w ([-.]w )* .w ([-.]w )*$ "验证InternetURL:"^http://([w-]。)[w-](/[w-]./?%=]*)?$" 验证电话号码:"^((d{3,4})|d{3,4}-)?d{7,8}$ "正确格式为:“XXXX-XXXXXXXX”、“XXXX-XXXXXXXX”、“XXX-XXXXXXXX”、“XXX-XXXXXXXX”、“XXXXXXXX”、“XXXXXXXX”。验证身份证号(15位或18位数字):"^d{15}|d{}18$ "验证一年的12个月:"^(0?[1-9]|1[0-2])$"正确格式为:"01"-"09"和"1""12" 验证一个月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$" 正确格式为:"01""09"和"1""31"。匹配中文字符的正则表达式:[u4e00-u9fa5]匹配双字节字符(包括汉字在内):[^x00-xff]匹配空行的正则表达式:n[s| ]*r匹配超文本标记语言标记的正则表达式:/(.*).*| (.*) //匹配首尾空格的正则表达式:(^s*)|(s*$)匹配电子邮件地址的正则表达式:w([-].]w )*@w ([-.]w )* .w ([-.]w )*匹配网址统一资源定位器的正则表达式:http://([w-].)[w-](/[w-]./?%=]*)?(1)应用:计算字符串的长度(一个双字节字符长度计2、ASCII字符计1)字符串。原型。len=function(){返回this.replace([^x00-xff]/g,'aa').长度;} (2)应用:javascript中没有像vbscript那样的整齐函数,我们就可以利用这个表达式来实现字符串。原型。trim=function(){ return this.replace(/(^s*)|(s*$)/g,');} (3)应用:利用正则表达式分解和转换互联网协议(互联网协议)地址功能IP2V(ip) //IP地址转换成对应数值{ re=/(d).(d)1 .(d)1 .(d )/g /匹配互联网协议(互联网协议)地址的正则表达式if(re.test(ip)) { return RegExp .$1*Math.pow(255,3))正则表达式$2*Math.pow(255,2))正则表达式$3*255 RegExp .$4*1 }否则{抛出新错误('不是有效的互联网协议(Internet Protocol)地址!') } } (4)应用:从统一资源定位器地址中提取文件名的爪哇岛描述语言程序s='//www .JB 51。net/第1页。htm ';s=s.replace(/(.*/){0,}([^.] ).*/ig,' $ 2 ');//Page1.htm (5)应用:利用正则表达式限制网页表单里的文本框输入内容用正则表达式限制只能输入中文:onkeyup='value='/blog/value.replace(/['^u4e00-u9fa5]/g,'')' on beforepaste=' clipboarda。setdata(' text ',clipboardata。getdata(' text ').replace(/[^u4E00-u9FA5]/g,''))'用正则表达式限制只能输入全角字符:onkeyup='value='/blog/value.replace(/['^uff00-uffff]/g,'')' on beforepaste=' clipboarda。setdata(' text ',clipboardata。getdata(' text ').replace(/[^uFF00-uFFFF]/g,''))'用正则表达式限制只能输入数字:onkeyup='value='/blog/value.replace(/['^d]/g,'')' on beforepaste=' clipboarda。setdata(' text ',clipboardata。getdata(' text ').replace(/[^d]/g,''))'用正则表达式限制只能输入数字和英文:onkeyup=' value='/blog/value。替换(/[W]/g ' ')“onbeforepaste=”clipboard data。setdata(' text '),clipboardData.getData('text ').replace(/[^d]/g,''

版权声明:简单js表单验证功能是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。

相关文章推荐