要求不能包含有字符串null,前后没有空格,其他位置不能有特殊字符(包括键盘非小键盘区的数字键上面的那些符号和引号括号等)...
想想觉得匹配null有问题,应该用负向零宽断言
/^.?((?!null)\w)+.?$/ig
试试看这个吧
不知道下面这段代码是否能帮到你,我在java中写的一个测试,当然可以抽出来形成一个方法。验证时调用此java方法即可。
public static void main(String[] args) {
String str="2null3";
// 清除掉所有特殊字符
try{
String regEx="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
if(str.contains("null")||str.contains(" ")||m.find())
{
System.out.println("格式不正确");
}
else
{
System.out.println("ok");
}
}catch(Exception e)
{
}
}
把那个换一下:
String regEx="[`~!@#$%^&*()+=|{}':;',\[\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、? null]"; 再试试
/^\w+$/g
匹配字母或数字或下划线或汉字
开头和结尾是 可以使特殊字符 是几个呢
/^.?/w+.?$/g 这个是开头和结尾允许有一个任意字符,中间是字母 汉字 数字
String regEx="[`~!@#$%^&*()+=|{}':;',\[\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、? ]";
这个已经能过滤掉空格了,就是不能有null这个不好弄啊,这个不知道如何写到上面的正则里面,就剩下这个字符串中不能有null这个,那你这边就只提供正则?就不能有个字符串是否含有null的判断?
我觉得非特殊字符就可以用 \w表示,[b] [color=red]文字!@#$%^&* < >[/color][/b]一一列出来不和实际
/^\w+[^(null)]$/ig