正则表达式不包含中文(不能包含中文的正则)
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)匹配(主要针对多字节比如汉字)。
参考资料来源:百度百科-正则表达式