脚本宝典收集整理的这篇文章主要介绍了javascript代码实例教程-javascript 利用正则表达式验证容易出现的小问题,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。
新手一个而已,不足之处还望和各位大神斧正。大笑
今天在练习javascript
利用正则表达式验证时遇到了
一点问题,就是无法正确匹配,提交表单不成功。
当时是这么写的:
<script ty
PE="text/javascript">
function Check(){
VAR txtnum=document.getElementById("txtNum").value;
if(txtnum != null
&& txtnum != un
defined &
amp;& txtnum != ""){
if(checkValue(txtnum)){
alert("登陆成功");
return true;
}else{
alert("登陆失败");
return false;
}
}
}
function checkValue(txtnum){
var reg=new RegE
xp("/^[a-z]/d{4}$/");
//var reg=new RegExp("^[a-z]/d{4}$");//当时这样测试也不行
var result=reg.
test(txtnum);
return result;
}
</script>
经过查看资料之后发现了一个很容易忽略小地方:
var reg=new RegExp("/^[a-z]/d{4}$/");
错误就在与双引号,
应该是:
var reg=new RegExp(/^[a-z]/d{4}$/); 这是用 / 括起来,
或者:
var reg=new RegExp("^[a-z]//d{4}$"); 如果使用双引号括起来的话就需要将特殊
字符转义,比如这里的 /d 就要转义为 //d
也就是说:"" 与 / 不共存。有 " " 没 / ,有 / 没 "" 。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
我们要想验证字符串
是否符合预定要求,可以利用RegExp的test()方法,或者使用字符串的match()方法: 一、match()方法:
这个在java上也有,参数实际上就是一个正则表达式(包括str.replace("xxxx","XXX")方法里面的参数也可以是正则。
API手册)
var reg=new RegExp(/^[a-z]/d{4}$/); //开头是字母,后跟4个数字,另外一种书写方式:
result=txtnum.match(reg)
或者:
result=txtnum.match(/^[a-z]/d{4}$/);
即
不用创建RegExp对象
注意,如果利
用Match没有找到匹配值,那么返回null,根据这个特点进行条件判断即可
ps1:我们在w3cshool上看例子时它部分例子是如下这么写的:
var patt1 = new RegExp("W3School");
这里面的正则表达式使用双引号包含的,即格式类似于:"xxxxxxx" ; 还有的是利用反斜杠,即格式类似于:/xxxxxxx/ 样式
建议使用双反斜杠格式,不用双引号包含,因为使用双引号包含需要对正则式子里面的特殊字符再进行转义,很麻烦。
最
简单的写法就是不用双引号,用 // 包含即可,如:
/^[a-Z]/d{6}/ 这个
意思是:以字母开头后跟6位数字,如果使用双引号包含就得这么写:
"^[a-Z]//d{6}" ------特别注意:/d 转义成 //d
PS2: //使用双引号就不要使用反斜杠,使用反斜杠就不要使用双引号,例如上面的
var reg=new RegExp(/^[a-z]/d{4}$/);//开头是字母,后跟4个数字,我们可以使用另外一种书写方式:
var reg=new RegExp("^[a-z]//d{4}$");//注意对反斜杠进行转义
以下这么写是不对的:
var reg=new RegExp("/^[a-z]//d{4}$/"); 或者:
var reg=new RegExp("/^[a-z]/d{4}$/");
综合上述:"" 与 / 不共存。
另外,使用字符串方法match()时,如果不匹配返回null,这时我们利用条件判断语句进行判断即可。
二、test()方法
与字符串match()方法不同的是,test()方法返回值是
布尔类型,而match()返回的是匹配出来的值(不匹配返回null)。
例如:test()
var reg=new RegExp(/^/d{4}$/);
var result=reg.test(txtnum);
例如:match()
var reg=new RegExp("^[a-z]//d{1}$");
var result=txtnum.match(reg);//如果你输入的符合规则,那么result的值就是你输入的值,否则就是null
if(result!=null)
return true;
else
return false;
不管以上整理
质量如何,我总
觉得学习就是一个总结的过程,我们要
做到:学习学习。去学习如何学习。
觉得可用,就经常来吧! 脚本宝典 欢迎评论哦! js脚本,巧夺天工,精雕玉琢。小宝典献丑了!
脚本宝典总结
以上是脚本宝典为你收集整理的javascript代码实例教程-javascript 利用正则表达式验证容易出现的小问题全部内容,希望文章能够帮你解决javascript代码实例教程-javascript 利用正则表达式验证容易出现的小问题所遇到的问题。
如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。