js正则表达式校验指定字符串的方法
最新一个小表单验证需求:“只能输入汉字,并且必须包含“支行”,“分行”,“银行”,“信用社“”字样,需用正则表达式校验
故写出了如下的表达式
var patt1=new RegExp(/^[\u0391-\uFFE5]*(([\u652f]{1}[\u884c]{1})|([\u5206]{1}[\u884c]{1})|([\u94f6]{1}[\u884c]{1})|([\u4fe1]{1}[\u7528]{1}[\u793e]{1}))+[\u0391-\uFFE5]*$/); document.write(patt1.test("信用社好好干"));
汉字编码使用Unicode,然后输出的当然是true,总的规则分如下三部分:
1. ^[\u0391-\uFFE5]*表示开头必须包含零或多个汉字
2. (([\u652f]{1}[\u884c]{1})|([\u5206]{1}[\u884c]{1})|([\u94f6]{1}[\u884c]{1})|([\u4fe1]{1}[\u7528]{1}[\u793e]{1}))+表示必须包含“支行”,“分行”,“银行”,“信用社“”之一,而且可以重复包含
3. [\u0391-\uFFE5]*$表示结尾必须包含零或多个汉字