我试图在一个字段中允许一些特殊字符,这些字符是重音元音(áéíóúÁEÍÍÓÚ(,ÑñÇç允许法语和西班牙语名称(即努诺,何塞,弗朗索瓦(。我的代码是这样的:
ng-pattern="/^[a-zA-Z_-&`#. ]*$'áéíóúÁEÍÍÓÚÑñÇç"
我也试过这个
ng-pattern="/^[a-zA-Z_-&`´#. ]*$'áéíóúÁÉÍÓÚÑñÇç]/"
但是当我在服务器中部署它并检查字段时,它会将这些字符更改为未知字符,如下所示:
<input type="text" name="firstName" class="form-control ng-pristine ng-invalid ng-not-empty ng-valid-required ng-invalid-pattern ng-touched" ng-required="!userDetails.user.firstname" ng-pattern="/^[a-zA-Z_-&`�'#. ]*$'��������������/" ng-model="userDetails.user.firstname" aria-invalid="true">
如何使编译器识别我需要的字符?
谢谢
>/^[a-zA-Z_\-&''#\. áéíóúÁÉÍÓÚÑñÇç]*$/应该适用于您的情况 - 您不需要在不需要转义的字符前面放置转义文字 (\(。
正如@sln评论的那样,它需要 unicode 字符,它适用于
^[-a-zA-Z_&`´#. u0027u00C1u00C7u00C9u00CDu00D1u00D3u00DAu00E1u00E7u00E9u00EDu00F1u00F3u00FA]*$
如果 html 的字符集/编码(可以在浏览器或 Web 服务器中设置(设置为 UTF8,则不需要上述 unicode 转换。