アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在の関数は以下ですが、フォームのテキストボックス入力でスペースが入るとfalseを返します。
当方、ユニコードがまったくわからず、何とかヘルプしていただきたい。
半角スペース 全角スペースのキーボード入力を許可したい。

氏名のチェック関数
function checkIsZenkaku(value) {
return !/[^\u3041-\u3100\u3200-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF]/.test(value);
}

氏名カナのチェック関数
function checkIsKana(str) {
return str.match(/^[ァ-ヶー]*$/);
}

A 回答 (1件)

とりあえず単純なcheckIsKanaを使うとして



return str.match(/^[ァ-ヶー]*$/);
これは0文字以上なので最低限
return str.match(/^[ァ-ヶー]+$/);
とする必要があるでしょう

通常スペースは\sであらわされますが
タブ、改ページ、改行などスペース的なもの全てにマッチしますので
半角全角スペースだけであればそれを列記すればよいです
return str.match(/^[ァ-ヶー  ]+$/);
(ーの後ろに半角スペース、全角スペースを記載してあります)

ただし、氏名のチェックとなると先頭や末尾のスペースや、
スペースが連続しているもの、スペースだけの文字列などは除外したいはずです。
また、普通は名字と名前の間のスペースだけですが、
ミドルネームを許すかどうかでも変わってきます
「山本 スーザン 久美子」とか・・・
まずは仕様をよく考えた方がよいと思います
    • good
    • 0
この回答へのお礼

yambejpさま、
ご回答いただき、ありがとうございました。

カナ入力のほうは、そのまま反映させていただきました。

漢字での氏名入力では、姓と名が分かれている場合が多いのは、仕様をシンプルにして冗長性を排除するためなのだとわかりました。
コチラのほうは、空白入力でfalseのときは、ポップアップメッセージに「氏名と漢字の間にスペースを入れないでください」を追記して対応するようにしました。
http://giza-run.com/entry.html

お礼日時:2015/10/28 02:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!