jQuery中的变音符号

时间:2017-03-28 08:54:52

标签: html utf-8 diacritics

正如标题所说,我需要一个解决方案,也可以使用ö,Ö,ä,Ä,ü,Ü和ß等变音符号。以下脚本将每个首字母大写,但是如上所述的变音符号有问题。脚本的输出如下所示:

  • Corey Jones
  • Corey.Jones
  • 科里 - 琼斯
  • 科里,琼斯
  • 科里/琼斯
  • 科里 - 琼斯

等等。这很好!但是当我想使用变音符号时,输出就像:

  • CöReyJöNes
  • öKanüSal

每个变音符号都会小写,即使它是第一个字母。我只是希望它们与常规字母表相同。我的内容类型设置为utf-8,文档以utf-8格式保存。我已经尝试将这些变音符添加到正则表达式模式中,但它们都没有用。

$(document).ready(function() {
	$('.check').change(function() {
		if ($('.check:checked').length) {
			$('#submit').removeAttr('disabled');
		} else {
			$('#submit').attr('disabled', 'disabled');
		}
	});
				 
	$.fn.capitalize = function() {
		$.each(this, function() {
			this.value = this.value.replace(/\b[a-z]/gi, function($0) {
				return $0.toUpperCase();
			});
			this.value = this.value.replace(/@([a-z])([^.]*\.[a-z])/gi, function($0, $1) {
				console.info(arguments);
				return '@' + $0.toUpperCase() + $1.toLowerCase();
			});
		});
	}			

	$("#vname").keyup(function() {
		$(this).capitalize();
	}).capitalize();
  
	$("#nname").keyup(function() {
		$(this).capitalize();
	}).capitalize();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="vname" id="vname" placeholder="Vorname" required="required" class="visible" />&nbsp;
<input type="text" name="nname" id="nname" placeholder="Nachname" required="required" class="visible" />

0 个答案:

没有答案