日期:2014-05-16  浏览次数:20359 次

求字节限制的js正则表达式
比方:限制输入在20个字节以内,onblur的时候验证
汉字或字母数字混合在20个字节内,
例如:
我123, 字节为5个,符合,
一二三四五六七八九十1,字节为21个,不符合

------解决方案--------------------

JScript code


function checkLength(v)
{
    var t =v.replace(/[\u4e00-\u9fa5]/g,'');//替换中文
    return (v.length-t.length)*2+t.length<=20;//判断长度
}
checkLength("一二三四五六七八九十1");//false
//checkLength("我123");//true;

------解决方案--------------------
探讨

比如说吧,
<input type="text" class="input" reg="^[\s\S]{1,50}$" />
我用一个验证插件是取reg的值直接进行new Regex(reg)去验证的。
所以我要一句话的正则表达式

------解决方案--------------------
只有正则,不用js实现不了
我想你应该是用的什么验证插件吧,是不是jQuery.validator
任何一种验证插件都应该有扩展能力,用以应对你这样的特殊场景。
比如:
JScript code
jQuery.validator.addMethod('methodName',fucntion(value,element){
//...
});

------解决方案--------------------
我一般自己写验证。如果你需要插件,找个适合自己的,改改,为自己所用,以后工作就方便省事儿多了。