2种检验的方法:
① 将字符串分割,分别
1.检测第一个字符,
2.检测 最后一个字符,是否都是汉字。
3.检测 中间部分检测汉字是否超过4个。
4.检测 整体检测是否是汉字+数字组合
<input type="text" id="ipt"/> <button id="sure">确定button>
var reg = /^[0-9\u4E00-\u9FA5]*$/; // 汉字 数字 检验
var reg_han =/^[\u4E00-\u9FA5]*$/; // 汉字检验
$('#sure').click(function(){
var str = $('#ipt').val();
var str_0 = str.slice(0,1); // 第1个 字符串
var str_m= str.slice(1,str.length-1); // 中间 字符串
var str_end = str.slice(str.length-2,str.length-1); // 最后1个 字符串
var str_m_arr = str_m.split(''); // 中间 字符串 分割成数组
var num = 0; // 中间 字符串 汉字的数量
for(var i=0;i<str_m_arr.length;i++){
if(str_m_arr[i].match(reg_han) != null){
num++;
}
}
var state = str.match(reg); // 所有 是否为汉字、数字
var state0 = str_0.match(reg_han); // 第1个是否为 汉字
var state1 = str_end.match(reg_han); // 最后1个是否为 汉字
if((state != null) && (state0 != null) && (state1 != null) && num>3){
console.log('yes')
}else {
if(!state) { console.log('只能是数字和汉字的组合!') }
if(!state0){ console.log('第一个必须是汉字!'); }
if(!state1){ console.log('最后一个必须是汉字!'); }
if(num<4){ console.log('最后少要有6个汉字!'); }
}
});
② 正则验证
1.检测是否是 数字+汉字 组合
2.检测是否整体至少包含6个汉字
<
input
type=
"text"
id=
"ttt"
/>
$("#ttt").blur(function(){
var addressVal = $(this).val();
var regx = /^[\u4e00-\u9fa5][0-9\u4e00-\u9fa5]*$/;
var regy = /^[\u4E00-\u9FA5]+.*[\u4E00-\u9FA5]+$/;
re=/[\u4E00-\u9FA5]/g; //测试中文字符的正则
if(regx.test(addressVal) && regy.test(addressVal) && addressVal.match(re).length>5){
alert("验证通过!");
}else{
alert("验证失败!");
}
alert(addressVal.match(re).length);
});