Skip to content

Instantly share code, notes, and snippets.

@lbj96347
Created February 1, 2012 06:06
Show Gist options
  • Save lbj96347/1715416 to your computer and use it in GitHub Desktop.
Save lbj96347/1715416 to your computer and use it in GitHub Desktop.
JS正则提取字符串/中文/英文/数字
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>javaScript正则表达式提取字符串中字母、数字、中文</title>
</head>
<body>
<input type="text" id="oText" value="李秉骏的常用代号是96347,英文名字是CashLee噢" size=100><br/>
<input type="button" value="number" onclick="get_character_you_want(this);">
<input type="button" value="chinese" onclick="get_character_you_want(this);">
<input type="button" value="english" onclick="get_character_you_want(this);">
<input type="button" value="checkout" onclick="checkout();">
<br>
<input id=my_value name="s" size=100 value="你爱输入什么都行没dfgdffg拭找34554imiadf测拭3453534sfgsf哈哈哈"><br/>
<input type="button" value="TEST" onclick="check_character_num()">
<br />
</body>
<script>
//window.alert(self['oText'].value=self['oText'].value.replace(/[^\u4E00-\u9FA5]/g,''));
function get_character_you_want(obj){
var what_you_want = obj.value;
var Regular_obj = [
{"name" : "number" , "regular" : /[^\d]/g },
{"name" : "chinese" , "regular" : /[^\u4E00-\u9FA5]/g },
{"name" : "english" , "regular" : /[^a-zA-Z]/g }
];
var check_string = document.getElementById("oText").value;
for( var x in Regular_obj){
if ( Regular_obj[x].name == what_you_want ){
console.log( "提取的"+ Regular_obj[x].name + "是:" + check_string.replace( Regular_obj[x].regular , '' ) );
}
}
}
function check_character_num (){
var my_value = document.getElementById('my_value');
var num = my_value.value.match(/\d/g);
var eng = my_value.value.match(/[a-z]/ig);
var chi = my_value.value.match(/[^ -~]/g);
console.log(num == null ? '没有数字' : '数字有 ' + num.length + ' 个,是:' + num.join('、'));
console.log(eng == null ? '没有字母' : '字母有 ' + eng.length + ' 个,是:' + eng.join('、'));
console.log(chi == null ? '没有中文' : '中文有 ' + chi.length + ' 个,是:' + chi.join('、'));
console.log("在微博输入时,没有经过中英文处理,输入的字数:" + my_value.value.length);
/*
*
* 字数统计中英文分流处理
*
*/
var en_num = parseInt( eng.length / 2 );
var nu_num = parseInt( num.length / 2 );
var final_num = chi.length + en_num + nu_num;
console.log("在微博输入时,已经过中英文处理,输入的字数:" + final_num );
}
function checkout (){
document.getElementById("oText").value = "测试用的niwienqiw你好Helloworldqew1231839噢";
}
</script>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment