求验证中文正则表达式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求验证中文正则表达式相关的知识,希望对你有一定的参考价值。

\u4E00-\u9FA5能验证中文,但是包含中文符号 我只想要中文(不要’‘;,这种中文符号)
高手请进 谢谢

\u4E00-\u9FA5只包含汉字,没有标点符号等。
比如:
“是\u201C
;是\uFF1B
,是\uFF0C
都不在这个范围内。

你遇到的问题,我估计跟编码有关:
有些工具在简体中文默认编码(CP 936 /GBK)状态下,无法正常处理此类正则表达式。
请将所用工具的编码切换到任意一种Unicode编码(比如 UTF-8)试试。

另外,简单地说,\u4E00-\u9FA5只是我们常用的GBK汉字范围。汉字不止这些。

若仍未解决,请详述现象,我继续帮你。
参考技术A

正则表达式主体:

[0-9]+[a-zA-Z]+[0-9a-zA-Z]*|[a-zA-Z]+[0-9]+[0-9a-zA-Z]*

说明:分为两种情况:

①至少一个数字开头,接着至少一个字母,后面无论是数字还是字母都可以。

②至少一个字母开头,接着至少一个数字,后面无论是数字还是字母都可以。

补充说明:虽然有些环境使用\\d或[:digit:]之类的形式可以表示数字,或者其它的特定的形式所对应的特定字符集,但是这样表示并不是通用的;因此建议使用通用的方式来写正则表达式,如[0-9]表示数字,[a-zA-Z]表示大小写字母等。当然,对于特定的编程语言可能还会涉及到转义字符,届时请注意一下。

参考技术B "^[\u4e00-\u9fa5]+$"我也找了好多,这个是好的,可以用! 参考技术C Perl中可以使用:
use Encode;
$_='我亲爱的只;你知道吗?我在想你们^-^';
$a=decode('cp936',$_);
($x)=($a =~ m/[\pHan]+/g);
print encode('cp936',$x),"\n";

匹配汉字,不会匹配到标点符号

求只能输入 正数和两位小数 的正则表达式,要能用的。。。

我在网上找了好久,发现这个还差不多[0-9]+\.?[0-9]*,就是不能控制小数的位数。请各位大侠,发能用的。。。

/**
 * 校验精确到小数点后最多两位的数字
 * @author g8up.cn
 * @date 2017.06.14
 */

//测试
function test( reg )
// 用例: case + 预期
const ret = [
case:\'0\',
exp: true,
,
case:\'0.1\',
exp: true,
,
case:\'0.12\',
exp: true,
,
case:\'0.123\',
exp: false,
,
case:\'-0.12\',
exp: true,
,
case:\'12\',
exp: true,
,
case:\'012\',
exp: false,
,
case:\'-012\',
exp: false,
,
case:\'12.0\',
exp: true,
,
case:\'12.\',
exp: false,
,
case:\'00\',
exp: false,
,
case:\'-0\',
exp: true,
,
case:\'-12.123\',
exp: false,
,
case:\'-0.1.2\',
exp: false,
,].filter( item => 
return reg.test( item.case) !== item.exp;
);

console.log(\'验证不通过的用例有\', ret.map(item=>item.case).join(\'\\n\') );// 打印非预期


var reg = /^((?:-?0)|(?:-?[1-9]\\d*))(?:\\.\\d1,2)?$/;
test( reg );
参考技术A 用这个\d1,\.\d2$
{2}中 2 就是来匹配小数位数的,$表示结尾的意思。
参考技术B /^([1-9]\\d*|0)(\\.\\d1,2)?$/

/^([1-9]\\d*|0)(\\.\\d1,2)?$/

匹配整数或最多两位小数

参考技术C ^([1-9][0-9]*)(\.[0-9]2)?$|^(0\.[0-9]2)$ 参考技术D [0-9]+\.?[0-9]0,2

以上是关于求验证中文正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

求一个正则表达式验证IP地址

求一个正则表达式,既验证固定电话也验证手机号码!

求js验证字母数字的正则表达式,且是字母开头的

求java正则表达式的例子,像js验证用户只可输入数字下划线字母的例子

求一个验证数字的正则表达式,只能数字通过验证,其他所有字符,包括空格都不能通过验证

thinkphp自动验证,写验证规则用正则表达式,会出现问题,求大神解答!~