function IP2V(ip)
{
re=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //匹配IP地址的正则表达式
if(re.test(ip))
{
return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
}
else
{
throw new Error("不是一个正确的IP地址!")
}
}
不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下:
var ip="10.100.20.168"
ip=ip.split(".")
alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))
正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。
<script>
var str="a1"
var re1 = /[\u4e00-\u9fa5a-z\d ]*(?:[\u4e00-\u9fa5a-z]+)/i;
var re=/\s+\d+\s+/;
if (re1.test(str)&&!re.test(str))
{
alert ("ok");
}
else
alert("no");
晕,用两个吧。。
var p = /^(?:(?:[ ]|^)(?:[\u4e00-\u9fa5aA-Za-z]+|(?:[\u4e00-\u9fa5aA-Za-z]+\d+[\u4e00-\u9fa5aA-Za-z]*|[\u4e00-\u9fa5aA-Za-z]*\d+[\u4e00-\u9fa5aA-Za-z]+)+))+[ ]*$/;
末尾有空格不匹配加个判断就好了。