正则表达式不包含中文(不能包含中文的正则)

http://www.itjxue.com  2023-02-14 10:10  来源:未知  点击次数: 

js 正则验证不能含有中文与特殊字符

varmyReg = /^[a-zA-Z0-9_]{0,}$/;

if(!myReg.test(input.val())) {

??$.validation.tip(false, input, "用户名不能含有中文或特殊字符");

??return;

}

js通过正则表达式限制input输入框只能输入英文字母和数字,不能输入中文。

input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')"

文本框中仅允许输入英文字母,小数点,数字,禁止输入中文字符以及其他特殊字符!

input?type="text"?name="username"?onkeyup="value=value.replace(/[^\w\.\/]/ig,'')"?/

输入大于0的正整数

input onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}"

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:

正则表达式在线生成工具:

var temp = 'abcdefg Fw:123456 Fw:789.1011';

temp =temp.indexOf(‘.’); //匹配某个字符位置

alert(temp);??var temp = 'dsd-5555'

temp =temp.replace('-',''); //匹配某个字符必替换

alert(temp);

正则表达式 不允许中文或标点符号 怎么写不允许中文

现代字符编码unicode下中文和西文的界限变模糊,不允许中文,还有日文,阿拉伯文这些。

所以条件变成“只允许英文和部分英文标点”会更简约。

通用正则 /[A-Za-z0-9,.;?@]+/

java中非中文的正则表达式是什么?

非中文 [^\u4e00-\u9fa5]

中文的正则表达式是[\u4e00-\u9fa5]

其他正则表达式

字符类

[abc] a、b 或 c(简单类)

[^abc] 任何字符,除了 a、b 或 c(否定)

[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)

[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)

[a-z[def]] d、e 或 f(交集)

[a-z[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)

[a-z[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)

以上在java中使用时用双引号将它们括起来就可以了

预定义字符类

. 任何字符(与行结束符可能匹配也可能不匹配)

\d 数字:[0-9] (单个数字)

\D 非数字: [^0-9]

\s 空白字符:[ \t\n\x0B\f\r]

\S 非空白字符:[^\s]

\w 单词字符:[a-zA-Z_0-9]

\W 非单词字符:[^\w]

以上在java中使用时除了将它们用双引号括起来以为,还须加\转义,例如\d的实际用法是”\\d“

POSIX 字符类(仅 US-ASCII)

\p{Lower} 小写字母字符:[a-z]

\p{Upper} 大写字母字符:[A-Z]

\p{ASCII} 所有 ASCII:[\x00-\x7F]

\p{Alpha} 字母字符:[\p{Lower}\p{Upper}]

\p{Digit} 十进制数字:[0-9]

\p{Alnum} 字母数字字符:[\p{Alpha}\p{Digit}]

\p{Punct} 标点符号:!"#$%'()*+,-./:;=?@[\]^_`{|}~

\p{Graph} 可见字符:[\p{Alnum}\p{Punct}]

\p{Print} 可打印字符:[\p{Graph}\x20]

\p{Blank} 空格或制表符:[ \t]

\p{Cntrl} 控制字符:[\x00-\x1F\x7F]

\p{XDigit} 十六进制数字:[0-9a-fA-F]

\p{Space} 空白字符:[ \t\n\x0B\f\r]

以上字符串要加双引号和反斜杠号

Greedy 数量词

X? X,一次或一次也没有

X* X,零次或多次

X+ X,一次或多次

X{n} X,恰好 n 次

X{n,} X,至少 n 次

X{n,m} X,至少 n 次,但是不超过 m 次

用法也是将它们用双引号括起来

Logical 运算符

XY X 后跟 Y

X|Y X 或 Y

(X) X,作为捕获组

用法也是将它们用双引号括起来

注意:正则表达式则有在方法参数明确是以正则表达式为参考时才使用,否则如果方法参数是普通字符序列时是不起作用的。

(引自网络和书籍)

正则匹配的中文包括中文标点符号吗?

不一定的,需要依表达式范围而定,例如:[\u4e00-\u9fa5] 可以识别出任何汉字,但不包含如:\u3002(匹配中文句号)。

解析:

“[\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b]?”该表达式可以识别出: 。 ; , : “ ”( ) 、 ? 《 》 这些标点符号。 正则表达式“\un”匹配n,其中n是一个用四个十六进制数字表示的Unicode字符。例如,\u00A9匹配版权符号(copy;)。

正则表达式匹配中文汉字 [\u4e00-\u9fa5] ,该表达式可以识别出任何汉字。但上述 \u3002 等匹配的符号不在范围内。

扩展资料:

汉字相关的正则表达式:

1、匹配双字节字符(包括汉字在内):[^\x00-\xff] ,注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

2、只含有汉字、数字、字母、下划线,下划线位置不限:^[a-zA-Z0-9_\u4e00-\u9fa5]+$

3、/^([\p{Han}\p{P}A-Za-z0-9])*$/u,其中 \p{Han}表示utf-8编码中的所有中文字符,\p{P}表示中英文标点,A-Z表示大写字母,a-z表示小写英文字母,0-9表示数字,*表示=0,,/u 表示按unicode(utf-8)匹配(主要针对多字节比如汉字)。

参考资料来源:百度百科-正则表达式

(责任编辑:IT教学网)

更多

推荐Discuz!建站文章