每次写客服端Javascriprt验证的时候都要到处去找各种正则表达式,今天就下了一个大大的决心把常用的Javascript验证的正则表达式整理了一下,有的特殊的没有整理,但一般的客服端验证是可以搞定的,基于代码开源原则,所以就拿了出来,欢迎大家补充…………
/**
* 正则表达式的应用
* @author Voishion
* @version 2013.01.02
*/
// 去左右空格;
function LRTrim(s) {
// return s.replace(/(^s*)|(s*$)/g, "");
return Rtrim(Ltrim(s));// 先去掉左边的空格,在去掉右边的空格
}
// 去左空格;
function LTrim(s) {
return s.replace(/(^s*)/g, "");
}
// 去右空格;
function RTrim(s) {
return s.replace(/(s*$)/g, "");
}
// 各种正则表达式
var RegIsNum = /^[0-9]*$/;// 是否为数字组成的整数
// 判断是否是手机号码
var RegIsMobelphoneNum1 = /^[0]{0,1}13\d{9}$/;
var RegIsMobelphoneNum2 = /^[0]{0,1}158\d{8}$/;
var RegIsMobelphoneNum3 = /^[0]{0,1}159\d{8}$/;
/** 检查是否是正确的手机号* */
function IsMobelphone(str) {
return (RegIsMobelphoneNum1.test(str) || RegIsMobelphoneNum2.test(str) || RegIsMobelphoneNum3
.test(str));
}
// 判断是否是电话号码和传真号码
var RegIsTelphone = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;
// 验证是否是中文
var RegIsChinese1 = /^[\u4e00-\u9fa5]+$/;
var RegIsChinese2 = /^[\u0391-\uFFE5]+$/;
/** 验证是否是中文* */
function IsChinese(str) {
return RegIsChinese2.test(str);
}
// 验证是否为正确的邮箱地址
var RegIsEmail = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
// 验证账户是否合法
var RegIsUserName = /^[a-zA-Z][a-zA-Z0-9_]{4,15}$/;
// 匹配密码的表达式
var RegIsPass = /^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)|.{0,5})$/;
// 验证身份证是否合法
var RegIsIDCard = /^d{15}|d{17}[0-9Xx]{1}$/;
// 匹配年月日期
var RegIsDate = /^[0-9]{2,4}[-\./][0-9]{1,2}[-\./] [0-9]{1,2}$/;
// 匹配全URL
var RegIsUrl = /^(http\:\/\/)?([a-zA-Z0-9][a-z]))$/;
var strUrl = "^((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.123.34.9
+ "|" // 允许IP和Domain[域名]访问
+ "([0-9a-z_!~*'()-]+\.)*" // 域名www.
+ "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名
+ "[a-z]{2,6})" // 第一层的域名
+ "(:[0-9]{1,4})?" // 端口
+ "((/?)|" + "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";
var RegIsURL1 = new RegExp(strUrl);
var RegIsURL2 = /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
// 匹配邮政编码
var RegIsZip = /^[1-9]\d{5}$/;
// 匹配IP地址
var RegIsIPAddress = /^(([0-9]{1,3}\.){3}[0-9]{1,3}$/;
// 将字符串中的非法字符替换成空字符
function strtpscript(str) {
var pattern = new RegExp("!@#$%^&*()-+={}[]\|/?\\,.~<>");
var rs = "";
for (var i = 0; i < str.length; i++) {
rs = rs + str.substr(i, 1).replace(pattern, "");
}
return rs;
}
欢迎大家补充的提出修改建议