正则表达式需求:姓名字段正则需保留原有字符集且禁止数字
解决姓名字段正则允许数字的问题
没问题,我来帮你搞定这个正则的调整!
你原来的字符集其实本身就不包含数字,之所以会允许数字输入,大概率是因为你的正则没有限定整个输入字符串的范围——比如如果只是单独用这个字符集,它只会匹配字符串里符合要求的部分,而不会管有没有数字混在里面。
要解决这个问题,只需要给你的正则加上开头和结尾的锚点,确保整个输入的每一个字符都属于你指定的允许集合就行。调整后的正则如下:
^[a-zA-Z'-ŠšŽžÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝŸÞàáâãäåæçèéêëìíîïñòóôõöøùúûüýÿþƒ]+$
关键调整说明:
^:匹配字符串的起始位置$:匹配字符串的结束位置+:要求输入至少包含一个允许的字符(如果需要允许空输入,可以把+换成*)
这样调整后,任何包含数字的输入都会被这个正则拒绝,同时完全保留了你原来需要的所有字母、重音字符、撇号和连字符。
内容的提问来源于stack exchange,提问作者learner
相关产品推荐
相关产品推荐

