javascript正则表达式判断中文、全角字符及中文长度

有时我们经常需要去判断一个字符串是否包含中文和全角的字符,尤其在表单提交时。
中文:
str.match(/[^/x00-/xff]/ig)

判断包含中文字符串长度
aMatch=str.match(/[^/x00-/x80]/g);
str.length+(!aMatch?0:aMatch.length)
还有一种方法来判断中文字符串的长度,即,将中文替换成任意两个字符,如(**),然后在计算它的长度,如下:
function(str){
     str = str.replace(/[^/x00-/xff]/g, '**');
     return str.length;
}
在   JScript   表达式中,正则表达式后面的全局标志   ( 'g ')   表示该表达式将用来在输入字符串中查找尽可能多的匹配。大小写敏感性由表达式结束处的大小写敏感性标记   ( 'i ')   指定。
 
 
提供常用Javascript正则表达式验证函数以下函数调用方式:

  
HTML代码:
    <input type="text" name="textfield" id="txt_id"  />
    <input type="submit" name="Submit" value="提交" onclick="check()" />
**************************/
// 判断输入是否是一个由 0-9 / A-Z / a-z 组成的字符串
// 判断输入是否是一个数字--(数字包含小数)--

// 判断输入是否是一个整数
// 判断输入是否是有效的长日期格式 - "YYYY-MM-DD HH:MM:SS" || "YYYY/MM/DD HH:MM:SS"
// 检查是否为 YYYY-MM-DD || YYYY/MM/DD 的日期格式
// 判断输入是否是有效的电子邮件
// 去除字符串的首尾的空格

// 返回字符串的实际长度, 一个汉字算2个长度
HTML代码:
  
**************************/
// 判断输入是否是一个由 0-9 / A-Z / a-z 组成的字符串
function isalphanumber(str)
{
    var result=str.match(/^[a-zA-Z0-9] $/);
    if(result==null) return false;
    return true;
}

// 判断输入是否是一个数字--(数字包含小数)--
function isnumber(str)
{
    return !isNaN(str);
}

// 判断输入是否是一个整数
function isint(str)
{
    var result=str.match(/^(-|/ )?/d $/);
    if(result==null) return false;
    return true;
}

// 判断输入是否是有效的长日期格式 - "YYYY-MM-DD HH:MM:SS" || "YYYY/MM/DD HH:MM:SS"
function isdatetime(str)
{
    var result=str.match(/^(/d{4})(-|//)(/d{1,2})/2(/d{1,2}) (/d{1,2}):(/d{1,2}):(/d{1,2})$/);
    if(result==null) return false;
    var d= new Date(result[1], result[3]-1, result[4], result[5], result[6], result[7]);
    return (d.getFullYear()==result[1]&&(d.getMonth() 1)==result[3]&&d.getDate()==result[4]&&d.getHours()==result[5]&&d.getMinutes()==result[6]&&d.getSeconds()==result[7]);
}

// 检查是否为 YYYY-MM-DD || YYYY/MM/DD 的日期格式
function isdate(str){
   var result=str.match(/^(/d{4})(-|//)(/d{1,2})/2(/d{1,2})$/);
   if(result==null) return false;
   var d=new Date(result[1], result[3]-1, result[4]);
   return (d.getFullYear()==result[1] && d.getMonth() 1==result[3] && d.getDate()==result[4]);
}

// 判断输入是否是有效的电子邮件
function isemail(str)
{
    var result=str.match(/^/w ((-/w )|(/./w ))*/@[A-Za-z0-9] ((/.|-)[A-Za-z0-9] )*/.[A-Za-z0-9] $/);
    if(result==null) return false;
    return true;
}

// 去除字符串的首尾的空格
function trim(str){
   return str.replace(/(^/s*)|(/s*$)/g, "");
}

// 返回字符串的实际长度, 一个汉字算2个长度
function strlen(str){
   return str.replace(/[^/x00-/xff]/g, "**").length;
}(/d{1,2})$/);   if(result==null) return false;   var d=new Date(result[1], result[3]-1, result[4]);   return (d.getFullYear()==result[1] && d.getMonth() 1==result[3] && d.getDate()==result[4]);}// 判断输入是否是有效的电子邮件function isemail(str){    var result=str.match(/^/w ((-/w )|(/./w ))*/@[A-Za-z0-9] ((/.|-)[A-Za-z0-9] )*/.[A-Za-z0-9] $/);    if(result==null) return false;    return true;}// 去除字符串的首尾的空格function trim(str){   return str.replace(/(^/s*)|(/s*$)/g, "");}// 返回字符串的实际长度, 一个汉字算2个长度function strlen(str){   return str.replace(/[^/x00-/xff]/g, "**").length;}

 

阅读更多
个人分类: 其它
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭