Created
February 1, 2012 06:06
-
-
Save lbj96347/1715416 to your computer and use it in GitHub Desktop.
JS正则提取字符串/中文/英文/数字
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!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