JavaScript中使用正则表达式举例

[quote="javaeye"][size=small] 在做网页开发时,经常需要做验证,虽然现在有很多的开源的验证框架,但是我们还是需要知道基础的知识。JavaScript中使用正则表达式举例[/size][/quote]


/**
* 这个是我在工作时使用到了,现在提出来共享下。
* 这里主要是用了正则表达式来实现。在js中使用
* 正则需要先创建一个RegExp对象,它的创建有两
* 种,一时显示的创建,二是隐形的创建。两种创
* 建方式在以下例子中都有,而且在IE中测试通过。
*/

/**
* isStcokName 判断输入的是否为网页链接
* @param {String} stockname 网页链接
*/
function isStcokName(stockname) {
if(stockname===null||stockname.length===0){
return false;
}

stockname=trim(stockname);//删除股票名称的前后空格

//判断输入的推荐人名称是否为以http开头,任意字符结尾,长度任意的字符串
var regex=RegExp("^\\D{3,5}$");
if(!stockname.match(regex)){
return false;
}
else{
return true;
}
}

/**
* isStockCode
* 判断股票代码是否为6位数,是否为空
* @param {String} stockcode 股票代码
*/
function isStockCode(stockcode) {
if(stockcode===null||stockcode.length===0){
return false;
}

stockcode=trim(stockcode);//删除股票代码的前后空格

//判断股票代码是否为一个数字头数字结尾的,总个数为6的字符串
var regex=RegExp("^\\d{6}$");
if(!stockcode.match(regex)){
return false;
}
else{
return true;
}
}

/**
* isRecommender 判断是否为推荐者
* @param {String} recommender
*/
function isRecommender(recommender) {
if(recommender===null||recommender.length===0){
return false;
}

recommender=trim(recommender);//删除推荐人的前后空格

//判断输入的推荐人名称是否为以非数字开头,非数字结尾,总个数为3至18个的字符串
var regex=RegExp("^\\D{2,18}$");
if(!recommender.match(regex)){
return false;
}
else{
return true;
}
}

/**
* vldtTimeFormat
* 验证输入的时间格式是否正确
* @param {String} datetime 日期时间
*/
function isDateTime(datetime) {
if(datetime===null||datetime.length===0){
return false;
}

datetime=trim(datetime);//删除日期的前后空格

//创建正则表达式对象,隐形的创建方式
var regex=/^(20[0-9][0-9][-年])?[0-1]?[0-9][-月][0-3]?[0-9]日? ?[0-2]?[0-9][:点时][0-5]?[0-9][:分]?([0-5]?[0-9])?$/;
//测试正则表达式是否匹配
if (!regex.test(datetime)){
return false;
}
else{
return true;
}

}

/**
* isUrl 判断输入的是否为网页链接
* @param {String} url 网页链接
*/
function isUrl(url) {
if(url===null||url.length===0){
return false;
}

url=trim(url);//删除url的前后空格

//判断输入的推荐人名称是否为以http开头,任意字符结尾,长度任意的字符串
var regex=RegExp("^http://.*$");
if(!url.match(regex)){
return false;
}
else{
return true;
}
}

/**
* 删除指定字符串的前后空格
*/
function trim(string){

//使用这则表达式来替换字符串的前后空格
string=string.replace(/(^\s*)|(\s*$)/g, "");

return string;
}

//分别删除前后空格,左边空格,右边空格。
// Trim() , Ltrim() , RTrim()

String.prototype.Trim = function(){
return this.replace(/(^\s*)|(\s*$)/g, "");
}

String.prototype.LTrim = function(){
return this.replace(/(^\s*)/g, "");
}

String.prototype.RTrim = function(){
return this.replace(/(\s*$)/g, "");
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值