网站建设中常用的页面跳转方法和正则表达式
我们在网站建设时会用到页面自动跳转和正则表达式,页面自动跳转在网站建设时根据需求可以采用不同的跳转方式,比如提示操作信息后延时跳转等,在网站建设时正则表达式通常用来检测、查找替换某些符合规则的字符串,如检测用户输入E-mai格式是否正确,采集符合规则的页面内容等等。
今天就跟大家分享一下网站建设中常用的页面跳转方法和正则表达式总结,希望对大家有所帮助。
第一:网站建设中页面跳转方法有哪些?
1、Meta设置跳转
html中的meta信息里可以直接设置跳转,可以设置跳转延迟时间和跳转url,经常应用,比如支付完了告诉用户支付成功并跳转到订单页面,代码非常简单,就在<head>中加上一句:
<meta http-equiv="refresh" content="5;url=http://www.laosuseo.com">
以上代码表示在5秒钟后页面会自动跳转到http://www.laosuseo.com。
2、PHP header()函数跳转
PHP的header()函数非常强大,其中在页面url跳转方面也调用简单,使用header()直接跳转到指定url页面,这时页面跳转是302重定向:
$url = "http://www.laosuseo.com/";
header( "Location: $url" );
我们有可能会遇到特殊的跳转时,比如网站改版有个页面地址要做301重定向,当然你可以通过web配置rewrite来实现,但现在我要告诉大家,可以使用php的header()函数做301跳转,代码如下:
//301跳转
header( "HTTP/1.1 301 Moved Permanently" );
header( "Location: $url" );
3、Javascript跳转
Javascript跳转也非常简单,直接一句话:
<script>
window.location.href="http://www.laosuseo.com";
</script>
注意,上面这段代码直接跳转后,在目标页面地址中是获取不到来路(referer,也叫来源)的,在实际项目中,遇到有客户要求跳转要带来路(即目标网页可以获取到页面从哪里跳转来的),这时,我们可以用javascript模拟一次点击,然后跳转就满足了客户的需求。
<script>
//有来路
var aa = document.createElement("a");
aa.setAttribute("href","http://www.qdexun.cn");
var bodys=document.getElementsByTagName("body")[0];
bodys.appendChild(aa);
aa.click();
</script>
第二:网站建设中正则表达式总结
Javascript常用表达式用法
1.匹配正整数:/^[0-9]*[1-9][0-9]*$/
2.匹配非负整数(正整数+0):/^\d+$/
3.匹配中文:/^[\u4e00-\u9fa5]/
4.匹配Email:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/
5.匹配网址URL:/^(f|ht){1}(tp|tps):\/\/([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?/
6.匹配字母开头,5-16字符,字母数字下划线:/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/
7.匹配数字,字母,下划线,中文:/^[\u4e00-\u9fa5A-Za-z0-9_]+$/
8.匹配中国邮政编码:/^[1-9]\d{5}$/
9.匹配IP地址:
/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/
10.匹配中国大陆身份证:/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}(\d|x|X)$/
Javascript正则验证字符串方法举例:
var str = "abc@163.com";
var preg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/; //匹配Email
if(preg.test(str)){
var msg = "匹配成功";
}else{
var msg = "匹配失败!";
}
alert(msg);
PHP常用表达式用法
1.匹配正整数:/^[1-9]\d*$/
2.匹配非负整数(正整数+0):/^\d+$/
3.匹配中文:/^[\x{4e00}-\x{9fa5}]+$/u
4.匹配Email:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/
5.匹配网址URL:(((f|ht){1}(tp|tps)://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)
6.匹配字母开头,5-16字符,字母数字下划线:/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/
7.匹配数字,字母,下划线,中文:/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u
8.匹配中国邮政编码:/^[1-9]\d{5}$/
9.匹配IP地址:
/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/
10.匹配中国大陆身份证:/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}(\d|x|X)$/
PHP正则验证字符串方法举例:
$str = "中文啊";
$preg = "/^[\x{4e00}-\x{9fa5}]+$/u"; //匹配中文
if(preg_match($preg,$str,$arr)){
$msg = '匹配成功!';
}else{
$msg = '匹配失败!';
}
echo $msg;